=== Eye Viewer Log Rotated at 2026-01-21 10:56:04 +0000 ===
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-21 11:04:49";
"file_name" = "";
message = Okii;
"message_id" = 18384;
"message_type" = 0;
"prev_session_message_id" = 18383;
"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("message_id"): 18384, AnyHashable("operation_type"): 3]
- 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-01-21 11:20:40";
"file_name" = "";
message = "\Ud83d\Udc8b";
"message_id" = 18385;
"message_type" = 0;
"prev_session_message_id" = 18384;
"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"): 18385]
datesent = "2026-01-21 11:20:40";
"file_name" = "";
message = "\Ud83d\Udc8b";
"message_id" = 18385;
"message_type" = 0;
"prev_session_message_id" = 18384;
"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"): 18385]
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-01-21 11:20:40";
"file_name" = "";
message = "\Ud83d\Udc8b";
"message_id" = 18385;
"message_type" = 0;
"prev_session_message_id" = 18384;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
- 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
"LocalWebSocketTask <622300CF-5BD1-445E-9935-9BE955B4F47C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <622300CF-5BD1-445E-9935-9BE955B4F47C>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18386, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <37837BEB-46F9-4935-AF5A-43BDB98CA0DD>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <37837BEB-46F9-4935-AF5A-43BDB98CA0DD>.<1>}
datesent = "2026-01-21 12:16:28";
"file_name" = "";
message = "I was in a call with sasa baby";
"message_id" = 18388;
"message_type" = 0;
"prev_session_message_id" = 18387;
"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-01-21 12:16:31";
"file_name" = "";
message = "Sorry\Ud83e\Udd72";
"message_id" = 18389;
"message_type" = 0;
"prev_session_message_id" = 18388;
"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]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 12:16:31";
"file_name" = "";
message = "Sorry\Ud83e\Udd72";
"message_id" = 18389;
"message_type" = 0;
"prev_session_message_id" = 18388;
"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"): 18389]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18390]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18391]
"LocalWebSocketTask <5B5E188C-4F2F-44A5-A562-5B4D26D46C91>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5B5E188C-4F2F-44A5-A562-5B4D26D46C91>.<1>}
datesent = "2026-01-21 12:24:40";
"file_name" = "";
message = "Im sure it will baby\U2665\Ufe0f";
"message_id" = 18393;
"message_type" = 0;
"prev_session_message_id" = 18392;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18393, 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"): 18393, AnyHashable("message_data"): {
datesent = "2026-01-21 12:24:40";
"file_name" = "";
message = "Im sure it will baby\U2665\Ufe0f";
"message_id" = 18393;
"message_type" = 0;
"prev_session_message_id" = 18392;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"LocalWebSocketTask <BA7106B1-EAB1-4727-AB8A-DA2CC99C2DEF>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <BA7106B1-EAB1-4727-AB8A-DA2CC99C2DEF>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-21 12:35:13";
"file_name" = "";
message = "Babyyy!!!!!!";
"message_id" = 18396;
"message_type" = 0;
"prev_session_message_id" = 18395;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18396]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18396]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 12:35:22";
"file_name" = "";
message = "\Ud83d\Ude21";
"message_id" = 18397;
"message_type" = 0;
"prev_session_message_id" = 18396;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18397, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <6DEF45AE-ECF0-48E2-ABCE-C8D608D0AC30>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6DEF45AE-ECF0-48E2-ABCE-C8D608D0AC30>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18397, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 12:35:22";
"file_name" = "";
message = "\Ud83d\Ude21";
"message_id" = 18397;
"message_type" = 0;
"prev_session_message_id" = 18396;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18397]
datesent = "2026-01-21 12:56:37";
"file_name" = "";
message = "I do, I always do !";
"message_id" = 18400;
"message_type" = 0;
"prev_session_message_id" = 18399;
"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;
}, AnyHashable("message_id"): 18400, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <7074F352-0D31-4D01-A5AE-7D58AE30AFF6>.<150>"
), 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}
- 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"): 3, AnyHashable("message_id"): 18404, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-01-21 16:09:06";
"file_name" = "";
message = "Ahhh I wish I can go\Ud83e\Udd72";
"message_id" = 18416;
"message_type" = 0;
"prev_session_message_id" = 18415;
"replied_message" = "Maybe Pilates ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18408;
"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 = 7;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18415]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18414]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18412]
"content-available" = 1;
}, AnyHashable("message_id"): 18410]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18419]
datesent = "2026-01-21 16:37:39";
"file_name" = "";
message = "I haven\U2019t eaten anything yet today";
"message_id" = 18420;
"message_type" = 0;
"prev_session_message_id" = 18419;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18420, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-21 16:37:39";
"file_name" = "";
message = "I haven\U2019t eaten anything yet today";
"message_id" = 18420;
"message_type" = 0;
"prev_session_message_id" = 18419;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18420, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-21 16:37:39";
"file_name" = "";
message = "I haven\U2019t eaten anything yet today";
"message_id" = 18420;
"message_type" = 0;
"prev_session_message_id" = 18419;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18420, 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("message_id"): 18421, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"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("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-21 16:38:16";
"file_name" = "";
message = "Yes I was baby";
"message_id" = 18423;
"message_type" = 0;
"prev_session_message_id" = 18422;
"replied_message" = "Were you alone at home today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18406;
"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-01-21 16:38:16";
"file_name" = "";
message = "Yes I was baby";
"message_id" = 18423;
"message_type" = 0;
"prev_session_message_id" = 18422;
"replied_message" = "Were you alone at home today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18406;
"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"): 18423, AnyHashable("message_data"): {
datesent = "2026-01-21 16:38:16";
"file_name" = "";
message = "Yes I was baby";
"message_id" = 18423;
"message_type" = 0;
"prev_session_message_id" = 18422;
"replied_message" = "Were you alone at home today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18406;
"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"): 18423, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18424]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 16:38:43";
"file_name" = "";
message = "Not sure about that, gained some weight during weekend \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 18425;
"message_type" = 0;
"prev_session_message_id" = 18424;
"replied_message" = "More needed for me than for you !";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18422;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18425]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 16:38:43";
"file_name" = "";
message = "Not sure about that, gained some weight during weekend \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 18425;
"message_type" = 0;
"prev_session_message_id" = 18424;
"replied_message" = "More needed for me than for you !";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18422;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18425]
datesent = "2026-01-21 16:38:43";
"file_name" = "";
message = "Not sure about that, gained some weight during weekend \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 18425;
"message_type" = 0;
"prev_session_message_id" = 18424;
"replied_message" = "More needed for me than for you !";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18422;
"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"): 18425, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18425]
"LocalWebSocketTask <C46221C8-5A4A-4F2B-9DAC-2BE6B035669B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C46221C8-5A4A-4F2B-9DAC-2BE6B035669B>.<1>, NSLocalizedDescription=The network connection was lost.}
"LocalWebSocketTask <6E11C228-B24A-4F7A-AC00-58DDE0A5B60C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6E11C228-B24A-4F7A-AC00-58DDE0A5B60C>.<1>}
"LocalWebSocketTask <B20088FB-C92D-472A-A471-0DCB51C8A677>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <B20088FB-C92D-472A-A471-0DCB51C8A677>.<1>}
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18429,"event_type":2}
"content-available" = 1;
}, AnyHashable("message_id"): 18428]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18429,"event_type":2}
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18432,"event_type":2}
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 18:54:13";
"file_name" = "";
message = "Oki Im not gonna say but.. \Ud83e\Udd13\Ud83e\Udd23";
"message_id" = 18435;
"message_type" = 0;
"prev_session_message_id" = 18434;
"replied_message" = "But please when you reconnect I don't want you to be sorry. If you tell sorry a single time, you'll get punished \Ud83d\Ude08";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18432;
"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-01-21 18:54:13";
"file_name" = "";
message = "Oki Im not gonna say but.. \Ud83e\Udd13\Ud83e\Udd23";
"message_id" = 18435;
"message_type" = 0;
"prev_session_message_id" = 18434;
"replied_message" = "But please when you reconnect I don't want you to be sorry. If you tell sorry a single time, you'll get punished \Ud83d\Ude08";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18432;
"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"): 18435, AnyHashable("message_data"): {
datesent = "2026-01-21 18:54:13";
"file_name" = "";
message = "Oki Im not gonna say but.. \Ud83e\Udd13\Ud83e\Udd23";
"message_id" = 18435;
"message_type" = 0;
"prev_session_message_id" = 18434;
"replied_message" = "But please when you reconnect I don't want you to be sorry. If you tell sorry a single time, you'll get punished \Ud83d\Ude08";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18432;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18435, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18436, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
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("operation_type"): 3, AnyHashable("message_id"): 18439]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18439]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18440, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18441]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18442, AnyHashable("message_data"): {
datesent = "2026-01-21 18:56:25";
"file_name" = "";
message = "I want you to do 5 1-0s until tomorrow lunch time\Ud83d\Ude0f";
"message_id" = 18442;
"message_type" = 0;
"prev_session_message_id" = 18441;
"replied_message" = "If my baby is in the mood and wants to give me orders for tonight in bed and / or tomorrow morning at wake up and / or under shower, her slave will have no other choice than to obey. If my baby is less in the mood, then absolutely no problem \U2764\Ufe0f";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18429;
"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-01-21 18:56:25";
"file_name" = "";
message = "I want you to do 5 1-0s until tomorrow lunch time\Ud83d\Ude0f";
"message_id" = 18442;
"message_type" = 0;
"prev_session_message_id" = 18441;
"replied_message" = "If my baby is in the mood and wants to give me orders for tonight in bed and / or tomorrow morning at wake up and / or under shower, her slave will have no other choice than to obey. If my baby is less in the mood, then absolutely no problem \U2764\Ufe0f";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18429;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18443]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 18:57:49";
"file_name" = "";
message = "You should start in 1 hr";
"message_id" = 18444;
"message_type" = 0;
"prev_session_message_id" = 18443;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18444]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 18:57:49";
"file_name" = "";
message = "You should start in 1 hr";
"message_id" = 18444;
"message_type" = 0;
"prev_session_message_id" = 18443;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18444]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 18:57:49";
"file_name" = "";
message = "You should start in 1 hr";
"message_id" = 18444;
"message_type" = 0;
"prev_session_message_id" = 18443;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18444]
"content-available" = 1;
}, AnyHashable("message_id"): 18444]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18445, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-21 18:58:12";
"file_name" = "";
message = "For the next sessions I\U2019ll let you know \Ud83d\Ude0f";
"message_id" = 18450;
"message_type" = 0;
"prev_session_message_id" = 18449;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18450, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <993FA04D-7827-4411-B1BC-9A841D07A0D8>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <993FA04D-7827-4411-B1BC-9A841D07A0D8>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18452]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18455]
"content-available" = 1;
}, AnyHashable("message_id"): 18457]
"content-available" = 1;
}, AnyHashable("message_id"): 18458]
"content-available" = 1;
}, AnyHashable("message_id"): 18459]
"content-available" = 1;
}, AnyHashable("message_id"): 18460]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18460,"event_type":2}
"content-available" = 1;
}]
datesent = "2026-01-21 20:16:37";
"file_name" = "";
message = "Babyy\Ud83d\Ude0d\Ud83d\Ude0d";
"message_id" = 18461;
"message_type" = 0;
"prev_session_message_id" = 18460;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18461, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
datesent = "2026-01-21 20:17:37";
"file_name" = "";
message = "Before you sleep, you will do one more 1-0";
"message_id" = 18463;
"message_type" = 0;
"prev_session_message_id" = 18462;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18463, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18464]
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18465, AnyHashable("message_data"): {
datesent = "2026-01-21 20:18:44";
"file_name" = "";
message = "For 2nd round 10, for 3rd 15";
"message_id" = 18465;
"message_type" = 0;
"prev_session_message_id" = 18464;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18465, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18467]
"content-available" = 1;
}, AnyHashable("message_id"): 18468, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-21 20:20:52";
"file_name" = "";
message = "If you dont, then you will do morning, in that case you have to remain 15mins.";
"message_id" = 18468;
"message_type" = 0;
"prev_session_message_id" = 18467;
"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"): 18468, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18469, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18470, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18471, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 20:21:48";
"file_name" = "";
message = "Please baby\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 18472;
"message_type" = 0;
"prev_session_message_id" = 18471;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18472, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 20:22:26";
"file_name" = "";
message = "Probably I\U2019ll read all morning \Ud83e\Udd2d";
"message_id" = 18473;
"message_type" = 0;
"prev_session_message_id" = 18472;
"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"): 18474, AnyHashable("message_data"): {
datesent = "2026-01-21 20:22:43";
"file_name" = "";
message = "Its 23:22 here, almost bedtime for me";
"message_id" = 18474;
"message_type" = 0;
"prev_session_message_id" = 18473;
"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("session_id"): ILUIWU, AnyHashable("message_id"): 18474]
"content-available" = 1;
}]
datesent = "2026-01-21 20:22:50";
"file_name" = "";
message = "And office tomorrow \Ud83e\Udd72";
"message_id" = 18475;
"message_type" = 0;
"prev_session_message_id" = 18474;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18475, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18475]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-01-21 20:30:25";
"file_name" = "";
message = "Good night \Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 18478;
"message_type" = 0;
"prev_session_message_id" = 18477;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18477, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18478]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 662]
"content-available" = 1;
}, AnyHashable("message_id"): 664, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 665, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 699, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 700]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 701]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 705]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 704]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 707, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 710, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 719, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 718, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 716]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 15913, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18514,"event_type":2}
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18534,"event_type":2}[02:59:32] [LOG] Pruned 15680 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18544,"event_type":2}
"content-available" = 1;
}]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18564,"event_type":2}
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18607, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18608]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18609, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18611, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18612, AnyHashable("operation_type"): 3]
- 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;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18601, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18599]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18603]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18604]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18605]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18613]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18614]
"content-available" = 1;
}, AnyHashable("message_id"): 18615, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18616]
"content-available" = 1;
}, AnyHashable("message_id"): 18618, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18617, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <D9A36B23-AE51-4CF9-88E3-AFF514785CF1>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <D9A36B23-AE51-4CF9-88E3-AFF514785CF1>.<1>, NSLocalizedDescription=The network connection was lost.}
"LocalWebSocketTask <92DCA5D8-0B25-4C64-8AB6-2587258A16B7>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <92DCA5D8-0B25-4C64-8AB6-2587258A16B7>.<1>}
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <5D60B215-CD05-4F5F-8702-F311400A96FC>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5D60B215-CD05-4F5F-8702-F311400A96FC>.<1>, NSLocalizedDescription=The network connection was lost.}
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-22 06:37:22";
"file_name" = "";
message = "Thank youuu\U2665\Ufe0f\U2665\Ufe0f\U2665\Ufe0f\U2665\Ufe0f";
"message_id" = 18619;
"message_type" = 0;
"prev_session_message_id" = 18618;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18619]
"content-available" = 1;
}, AnyHashable("message_id"): 18619, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18621,"event_type":2}
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-22 07:19:55";
"file_name" = "";
message = "My looove\U2665\Ufe0f";
"message_id" = 18639;
"message_type" = 0;
"prev_session_message_id" = 18638;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18622;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18639, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18641]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18657, AnyHashable("message_data"): {
datesent = "2026-01-22 08:51:57";
"file_name" = "";
message = "ILU, I love the game that we are playing";
"message_id" = 18657;
"message_type" = 0;
"prev_session_message_id" = 18656;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-22 08:51:57";
"file_name" = "";
message = "ILU, I love the game that we are playing";
"message_id" = 18657;
"message_type" = 0;
"prev_session_message_id" = 18656;
"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]
"content-available" = 1;
}]
datesent = "2026-01-22 09:05:40";
"file_name" = "";
message = "Because ILU\U2665\Ufe0f because you deserve \U2665\Ufe0f because you are perfect \U2665\Ufe0f because you are mine !";
"message_id" = 18660;
"message_type" = 0;
"prev_session_message_id" = 18659;
"replied_message" = "Why are you so kind to me ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18641;
"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-01-22 09:05:40";
"file_name" = "";
message = "Because ILU\U2665\Ufe0f because you deserve \U2665\Ufe0f because you are perfect \U2665\Ufe0f because you are mine !";
"message_id" = 18660;
"message_type" = 0;
"prev_session_message_id" = 18659;
"replied_message" = "Why are you so kind to me ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18641;
"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;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18660, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-22 09:58:11";
"file_name" = "";
message = "ILU2\U2665\Ufe0f\U2665\Ufe0f\U2665\Ufe0f";
"message_id" = 18685;
"message_type" = 0;
"prev_session_message_id" = 18684;
"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"): 18685]
datesent = "2026-01-22 09:58:16";
"file_name" = "";
message = "I hope you enjoyed";
"message_id" = 18686;
"message_type" = 0;
"prev_session_message_id" = 18685;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18686, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-22 09:58:16";
"file_name" = "";
message = "I hope you enjoyed";
"message_id" = 18686;
"message_type" = 0;
"prev_session_message_id" = 18685;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18686, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-22 09:58:16";
"file_name" = "";
message = "I hope you enjoyed";
"message_id" = 18686;
"message_type" = 0;
"prev_session_message_id" = 18685;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18686, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18685]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18684]
"content-available" = 1;
}]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18689,"event_type":2}
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18689,"event_type":2}
- 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("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18714, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18719, AnyHashable("message_data"): {
datesent = "2026-01-22 11:55:56";
"file_name" = "";
message = "Just my hands\Ud83d\Ude0f\Ud83d\Ude0f???";
"message_id" = 18719;
"message_type" = 0;
"prev_session_message_id" = 18718;
"replied_message" = "Your hands ARE on me";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18702;
"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"): 18718, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18719, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18720,"event_type":2}
"LocalWebSocketTask <2B5C9C23-286B-4F70-9C58-A7DD50C4C270>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <2B5C9C23-286B-4F70-9C58-A7DD50C4C270>.<1>}
"LocalWebSocketTask <B7DA5A92-FB02-42FC-9B91-DBFC5E81FFD4>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <B7DA5A92-FB02-42FC-9B91-DBFC5E81FFD4>.<1>}
"LocalWebSocketTask <581B959D-9707-4620-8EAE-676244B44AB5>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <581B959D-9707-4620-8EAE-676244B44AB5>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18720]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"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("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-22 12:42:30";
"file_name" = "";
message = "Me too my loveee";
"message_id" = 18722;
"message_type" = 0;
"prev_session_message_id" = 18721;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18722]
"LocalWebSocketTask <0657C1BB-3D2A-4926-ABD6-04F95825EBC3>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0657C1BB-3D2A-4926-ABD6-04F95825EBC3>.<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"): 18723, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-22 12:42:33";
"file_name" = "";
message = "Me too\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72";
"message_id" = 18723;
"message_type" = 0;
"prev_session_message_id" = 18722;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18724, AnyHashable("message_data"): {
datesent = "2026-01-22 12:43:07";
"file_name" = "";
message = "Im missing sleeping with you";
"message_id" = 18724;
"message_type" = 0;
"prev_session_message_id" = 18723;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <D728C428-F87F-4781-AB49-1C0F3278CF09>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <D728C428-F87F-4781-AB49-1C0F3278CF09>.<1>}
datesent = "2026-01-22 12:43:07";
"file_name" = "";
message = "Im missing sleeping with you";
"message_id" = 18725;
"message_type" = 0;
"prev_session_message_id" = 18724;
"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 = 3;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18725]
alert = {
body = "New message received";
title = Eye;
};
badge = 4;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-22 12:43:12";
"file_name" = "";
message = "Waking up with you";
"message_id" = 18726;
"message_type" = 0;
"prev_session_message_id" = 18725;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18726, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 5;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18727]
"LocalDataTask <F41E3F1A-F9A0-42D0-B1F8-AF23BB27790C>.<387>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=18727, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=18727, _kCFStreamErrorDomainKey=4}
"LocalWebSocketTask <C93AAD77-5493-43C2-952D-3D95C53558FA>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C93AAD77-5493-43C2-952D-3D95C53558FA>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 18727, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <3951D1BC-16A7-42EC-8B53-5CD520C747A3>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3951D1BC-16A7-42EC-8B53-5CD520C747A3>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18723, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18725]
"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-01-22 13:25:20";
"file_name" = "";
message = "Good baby thanks\U2665\Ufe0f";
"message_id" = 18730;
"message_type" = 0;
"prev_session_message_id" = 18729;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-01-22 13:25:20";
"file_name" = "";
message = "Good baby thanks\U2665\Ufe0f";
"message_id" = 18730;
"message_type" = 0;
"prev_session_message_id" = 18729;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18730, 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("message_id"): 18730]
datesent = "2026-01-22 13:25:39";
"file_name" = "";
message = "Done for me\Ud83e\Udd13\Ud83e\Udd13";
"message_id" = 18732;
"message_type" = 0;
"prev_session_message_id" = 18731;
"replied_message" = "Last meeting of the day starting now \Ud83d\Ude0a";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18728;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18732, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-22 13:25:39";
"file_name" = "";
message = "Done for me\Ud83e\Udd13\Ud83e\Udd13";
"message_id" = 18732;
"message_type" = 0;
"prev_session_message_id" = 18731;
"replied_message" = "Last meeting of the day starting now \Ud83d\Ude0a";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18728;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18732, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-22 13:25:39";
"file_name" = "";
message = "Done for me\Ud83e\Udd13\Ud83e\Udd13";
"message_id" = 18732;
"message_type" = 0;
"prev_session_message_id" = 18731;
"replied_message" = "Last meeting of the day starting now \Ud83d\Ude0a";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18728;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18732, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18731, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18733, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18734, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18735,"event_type":2}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-01-22 13:27:01";
"file_name" = "";
message = "Nope baby, I wont";
"message_id" = 18736;
"message_type" = 0;
"prev_session_message_id" = 18735;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18736, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-22 13:27:01";
"file_name" = "";
message = "Nope baby, I wont";
"message_id" = 18736;
"message_type" = 0;
"prev_session_message_id" = 18735;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18736, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-22 13:27:01";
"file_name" = "";
message = "Nope baby, I wont";
"message_id" = 18736;
"message_type" = 0;
"prev_session_message_id" = 18735;
"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"): 18736, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18736]
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-01-22 13:27:11";
"file_name" = "";
message = "My neck is still hurting a bit";
"message_id" = 18737;
"message_type" = 0;
"prev_session_message_id" = 18736;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18737]
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-01-22 13:27:11";
"file_name" = "";
message = "My neck is still hurting a bit";
"message_id" = 18737;
"message_type" = 0;
"prev_session_message_id" = 18736;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18737]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-22 13:27:11";
"file_name" = "";
message = "My neck is still hurting a bit";
"message_id" = 18737;
"message_type" = 0;
"prev_session_message_id" = 18736;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18737]
"content-available" = 1;
}, AnyHashable("message_id"): 18737, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-22 13:27:24";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18738;
"message_type" = 0;
"prev_session_message_id" = 18737;
"replied_message" = "Leaving not too late today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18734;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18738]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-22 13:27:24";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18738;
"message_type" = 0;
"prev_session_message_id" = 18737;
"replied_message" = "Leaving not too late today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18734;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18738]
datesent = "2026-01-22 13:27:24";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18738;
"message_type" = 0;
"prev_session_message_id" = 18737;
"replied_message" = "Leaving not too late today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18734;
"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"): 18738, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18738, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18739,"event_type":2}
"content-available" = 1;
}]
"LocalWebSocketTask <DA18A2BE-FC72-4D00-AD1C-B7CEF46D93B6>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <DA18A2BE-FC72-4D00-AD1C-B7CEF46D93B6>.<1>}
- 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-01-22 14:00:14";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18740;
"message_type" = 0;
"prev_session_message_id" = 18739;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18740, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-22 14:00:14";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18740;
"message_type" = 0;
"prev_session_message_id" = 18739;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18740, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, 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-01-22 14:00:14";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18740;
"message_type" = 0;
"prev_session_message_id" = 18739;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18740]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18741, AnyHashable("message_data"): {
datesent = "2026-01-22 14:00:14";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18741;
"message_type" = 0;
"prev_session_message_id" = 18740;
"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("session_id"): ILUIWU, AnyHashable("message_id"): 18741, AnyHashable("message_data"): {
datesent = "2026-01-22 14:00:14";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18741;
"message_type" = 0;
"prev_session_message_id" = 18740;
"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("message_id"): 18741, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-22 14:00:14";
"file_name" = "";
message = "In 30 mins I hope";
"message_id" = 18741;
"message_type" = 0;
"prev_session_message_id" = 18740;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18741, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-22 14:11:14";
"file_name" = "";
message = "Leaving now \Ud83d\Ude43\Ud83d\Ude43";
"message_id" = 18742;
"message_type" = 0;
"prev_session_message_id" = 18741;
"replied_message" = "Leaving not too late today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18734;
"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-01-22 14:11:14";
"file_name" = "";
message = "Leaving now \Ud83d\Ude43\Ud83d\Ude43";
"message_id" = 18742;
"message_type" = 0;
"prev_session_message_id" = 18741;
"replied_message" = "Leaving not too late today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18734;
"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-01-22 14:11:14";
"file_name" = "";
message = "Leaving now \Ud83d\Ude43\Ud83d\Ude43";
"message_id" = 18742;
"message_type" = 0;
"prev_session_message_id" = 18741;
"replied_message" = "Leaving not too late today ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18734;
"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("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18744, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"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"): 18743]
"content-available" = 1;
}, 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":18746,"event_type":2}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18747, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18746,"event_type":2}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18748]
"content-available" = 1;
}]
datesent = "2026-01-22 17:47:58";
"file_name" = "";
message = "Before vacation my love";
"message_id" = 18755;
"message_type" = 0;
"prev_session_message_id" = 18754;
"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]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18755]
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-22 17:48:09";
"file_name" = "";
message = "Couldn\U2019t remember the exact date";
"message_id" = 18756;
"message_type" = 0;
"prev_session_message_id" = 18755;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18756, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 2, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18756]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18756]
"content-available" = 1;
}, AnyHashable("operation_type"): 2, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18756]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18757,"event_type":2}
"LocalWebSocketTask <DA752E95-BBF8-4050-AD83-18A7E587EAA0>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <DA752E95-BBF8-4050-AD83-18A7E587EAA0>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 18758, AnyHashable("message_data"): {
datesent = "2026-01-22 19:47:48";
"file_name" = "";
message = "Nope baby, Im not feeling well %100, probably I\U2019ll be sick \Ud83e\Udd12";
"message_id" = 18758;
"message_type" = 0;
"prev_session_message_id" = 18757;
"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"): 18758]
"content-available" = 1;
}, AnyHashable("message_id"): 18761, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18763, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}][06:07:22] [LOG] Pruned 2394 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("message_id"): 18767]
"content-available" = 1;
}]
datesent = "2026-01-23 07:19:58";
"file_name" = "";
message = "And you?";
"message_id" = 18771;
"message_type" = 0;
"prev_session_message_id" = 18770;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18771, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 07:19:58";
"file_name" = "";
message = "And you?";
"message_id" = 18771;
"message_type" = 0;
"prev_session_message_id" = 18770;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18771, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18771, AnyHashable("message_data"): {
datesent = "2026-01-23 07:19:58";
"file_name" = "";
message = "And you?";
"message_id" = 18771;
"message_type" = 0;
"prev_session_message_id" = 18770;
"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]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, 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]
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("message_id"): 18772, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18775, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18774]
"content-available" = 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-01-23 07:21:19";
"file_name" = "";
message = "Seems home for you\Ud83e\Udd70";
"message_id" = 18777;
"message_type" = 0;
"prev_session_message_id" = 18776;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18774;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18777]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 07:21:19";
"file_name" = "";
message = "Seems home for you\Ud83e\Udd70";
"message_id" = 18777;
"message_type" = 0;
"prev_session_message_id" = 18776;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18774;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18777]
datesent = "2026-01-23 07:21:19";
"file_name" = "";
message = "Seems home for you\Ud83e\Udd70";
"message_id" = 18777;
"message_type" = 0;
"prev_session_message_id" = 18776;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18774;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18777, 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"): 18777, 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"): 18778, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 07:21:23";
"file_name" = "";
message = Yeap;
"message_id" = 18778;
"message_type" = 0;
"prev_session_message_id" = 18777;
"replied_message" = "Office ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18776;
"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"): 18778, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 07:21:23";
"file_name" = "";
message = Yeap;
"message_id" = 18778;
"message_type" = 0;
"prev_session_message_id" = 18777;
"replied_message" = "Office ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18776;
"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_id"): 18778, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 07:21:23";
"file_name" = "";
message = Yeap;
"message_id" = 18778;
"message_type" = 0;
"prev_session_message_id" = 18777;
"replied_message" = "Office ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18776;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18778]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18779]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18780, AnyHashable("message_data"): {
datesent = "2026-01-23 07:21:56";
"file_name" = "";
message = "Happy for you babyy";
"message_id" = 18780;
"message_type" = 0;
"prev_session_message_id" = 18779;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <F57E740D-E798-4F68-BFB7-C6871E5BFF7E>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <F57E740D-E798-4F68-BFB7-C6871E5BFF7E>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18780, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 07:21:56";
"file_name" = "";
message = "Happy for you babyy";
"message_id" = 18780;
"message_type" = 0;
"prev_session_message_id" = 18779;
"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]
datesent = "2026-01-23 07:22:11";
"file_name" = "";
message = "2nd for me \Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 18781;
"message_type" = 0;
"prev_session_message_id" = 18780;
"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("session_id"): ILUIWU, AnyHashable("message_id"): 18781, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 07:22:11";
"file_name" = "";
message = "2nd for me \Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 18781;
"message_type" = 0;
"prev_session_message_id" = 18780;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18781, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 07:22:37";
"file_name" = "";
message = "Ha ha true \Ud83e\Udd23";
"message_id" = 18784;
"message_type" = 0;
"prev_session_message_id" = 18783;
"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"): 18784]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18784, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 07:22:37";
"file_name" = "";
message = "Ha ha true \Ud83e\Udd23";
"message_id" = 18784;
"message_type" = 0;
"prev_session_message_id" = 18783;
"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]
datesent = "2026-01-23 07:30:08";
"file_name" = "";
message = "Alone?";
"message_id" = 18785;
"message_type" = 0;
"prev_session_message_id" = 18784;
"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]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18785, 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]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18788, 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"): 18791, AnyHashable("message_data"): {
datesent = "2026-01-23 09:27:57";
"file_name" = "";
message = "Hi babyyyy";
"message_id" = 18791;
"message_type" = 0;
"prev_session_message_id" = 18790;
"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-01-23 09:27:57";
"file_name" = "";
message = "Hi babyyyy";
"message_id" = 18791;
"message_type" = 0;
"prev_session_message_id" = 18790;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18791, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"LocalDataTask <63C09C9E-3ABC-4476-8348-1E3B8EEE98A3>.<235>"
), 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}
datesent = "2026-01-23 09:50:29";
"file_name" = "";
message = "No, Im not actually baby";
"message_id" = 18794;
"message_type" = 0;
"prev_session_message_id" = 18793;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18794, 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"): 18794, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18794]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18796, AnyHashable("message_data"): {
datesent = "2026-01-23 09:51:11";
"file_name" = "";
message = "Because Im not believing this process tbh \Ud83d\Ude43";
"message_id" = 18796;
"message_type" = 0;
"prev_session_message_id" = 18795;
"replied_message" = "No, Im not actually baby";
"replied_sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"replied_sender_name" = Esra;
"reply_to_id" = 18794;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 09:51:11";
"file_name" = "";
message = "Because Im not believing this process tbh \Ud83d\Ude43";
"message_id" = 18796;
"message_type" = 0;
"prev_session_message_id" = 18795;
"replied_message" = "No, Im not actually baby";
"replied_sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"replied_sender_name" = Esra;
"reply_to_id" = 18794;
"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("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18798, AnyHashable("message_data"): {
datesent = "2026-01-23 09:51:42";
"file_name" = "";
message = "Some presentation maybe, but depends on the participants or subjects";
"message_id" = 18798;
"message_type" = 0;
"prev_session_message_id" = 18797;
"replied_message" = "Good. Relaxed baby. What is stressing you in life ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18795;
"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"): 18798, AnyHashable("message_data"): {
datesent = "2026-01-23 09:51:42";
"file_name" = "";
message = "Some presentation maybe, but depends on the participants or subjects";
"message_id" = 18798;
"message_type" = 0;
"prev_session_message_id" = 18797;
"replied_message" = "Good. Relaxed baby. What is stressing you in life ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18795;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 09:51:42";
"file_name" = "";
message = "Some presentation maybe, but depends on the participants or subjects";
"message_id" = 18798;
"message_type" = 0;
"prev_session_message_id" = 18797;
"replied_message" = "Good. Relaxed baby. What is stressing you in life ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18795;
"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("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18799, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 09:53:00";
"file_name" = "";
message = "You are not getting a note depends on your value that you created, its more related to other\U2019s.";
"message_id" = 18801;
"message_type" = 0;
"prev_session_message_id" = 18800;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18801, 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;
}]
"content-available" = 1;
}]
datesent = "2026-01-23 10:32:37";
"file_name" = "";
message = "\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 18804;
"message_type" = 0;
"prev_session_message_id" = 18803;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18804, 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("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 10:33:12";
"file_name" = "";
message = "Thank youuuuu my love\U2665\Ufe0f";
"message_id" = 18806;
"message_type" = 0;
"prev_session_message_id" = 18805;
"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("operation_type"): 0, AnyHashable("message_id"): 18806, AnyHashable("message_data"): {
datesent = "2026-01-23 10:33:12";
"file_name" = "";
message = "Thank youuuuu my love\U2665\Ufe0f";
"message_id" = 18806;
"message_type" = 0;
"prev_session_message_id" = 18805;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18806]
"LocalDataTask <83BC1087-D9BF-4F0F-BEC1-ACB966ADF67B>.<357>"
), 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 = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 11:21:26";
"file_name" = "";
message = "And Im happy for both of us\Ud83e\Udd70";
"message_id" = 18809;
"message_type" = 0;
"prev_session_message_id" = 18808;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18809]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 11:21:26";
"file_name" = "";
message = "And Im happy for both of us\Ud83e\Udd70";
"message_id" = 18809;
"message_type" = 0;
"prev_session_message_id" = 18808;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18809, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18809, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18810, AnyHashable("operation_type"): 3]
"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"): 18812, AnyHashable("message_data"): {
datesent = "2026-01-23 11:21:55";
"file_name" = "";
message = "\U2665\Ufe0f\U2665\Ufe0f";
"message_id" = 18812;
"message_type" = 0;
"prev_session_message_id" = 18811;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <5069D1ED-9A99-41EC-A5E9-210B01E3D71A>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5069D1ED-9A99-41EC-A5E9-210B01E3D71A>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18812, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 11:22:15";
"file_name" = "";
message = "Im surprised actually, I was thinking 2-2 \Ud83e\Udd23";
"message_id" = 18813;
"message_type" = 0;
"prev_session_message_id" = 18812;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <66092B1B-4575-4193-8F49-5AA577F4EE09>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <66092B1B-4575-4193-8F49-5AA577F4EE09>.<1>}
"content-available" = 1;
}]
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-01-23 11:30:03";
"file_name" = "";
message = "Thank you my loooove\U2665\Ufe0f";
"message_id" = 18815;
"message_type" = 0;
"prev_session_message_id" = 18814;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-01-23 11:30:03";
"file_name" = "";
message = "Thank you my loooove\U2665\Ufe0f";
"message_id" = 18815;
"message_type" = 0;
"prev_session_message_id" = 18814;
"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-01-23 11:30:03";
"file_name" = "";
message = "Thank you my loooove\U2665\Ufe0f";
"message_id" = 18815;
"message_type" = 0;
"prev_session_message_id" = 18814;
"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;
}, AnyHashable("message_id"): 18815, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 12:38:29";
"file_name" = "";
message = "I didn\U2019t know I had so many options \Ud83d\Ude43";
"message_id" = 18817;
"message_type" = 0;
"prev_session_message_id" = 18816;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18817, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18817, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18818]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18818]
"content-available" = 1;
}, AnyHashable("message_id"): 18818]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18818]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 13:11:18";
"file_name" = "";
message = "I was thinking the same before but global position much more better I think. What is your opinion";
"message_id" = 18823;
"message_type" = 0;
"prev_session_message_id" = 18822;
"replied_message" = "Oh wow. I would have bet you would choose IT OPS Manager. But indeed maybe program or delivery manager suits you more.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18821;
"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-01-23 13:11:18";
"file_name" = "";
message = "I was thinking the same before but global position much more better I think. What is your opinion";
"message_id" = 18823;
"message_type" = 0;
"prev_session_message_id" = 18822;
"replied_message" = "Oh wow. I would have bet you would choose IT OPS Manager. But indeed maybe program or delivery manager suits you more.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18821;
"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-01-23 13:11:18";
"file_name" = "";
message = "I was thinking the same before but global position much more better I think. What is your opinion";
"message_id" = 18823;
"message_type" = 0;
"prev_session_message_id" = 18822;
"replied_message" = "Oh wow. I would have bet you would choose IT OPS Manager. But indeed maybe program or delivery manager suits you more.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18821;
"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"): 18823, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 13:11:28";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18825;
"message_type" = 0;
"prev_session_message_id" = 18824;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18822;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18825]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 13:11:28";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18825;
"message_type" = 0;
"prev_session_message_id" = 18824;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18822;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18825]
datesent = "2026-01-23 13:11:28";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18825;
"message_type" = 0;
"prev_session_message_id" = 18824;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18822;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18825, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18824]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18825, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 13:13:43";
"file_name" = "";
message = "Yes, I dont want \Ud83e\Udd23";
"message_id" = 18828;
"message_type" = 0;
"prev_session_message_id" = 18827;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18828]
"content-available" = 1;
}]
alert = {
body = "";
title = StreamCam;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 2, AnyHashable("message_id"): 18828, AnyHashable("session_id"): ILUIWU]
alert = {
body = "";
title = StreamCam;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 2, AnyHashable("message_id"): 18828, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18828, AnyHashable("operation_type"): 3]
alert = {
body = "";
title = StreamCam;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18828, AnyHashable("operation_type"): 2, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18829]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 13:14:02";
"file_name" = "";
message = Truee;
"message_id" = 18830;
"message_type" = 0;
"prev_session_message_id" = 18829;
"replied_message" = "The IT OPS Manager until last year was more sexy. But now with vision it will quickly become a 1 man show. Delivery more visible.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18826;
"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"): 18830]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 13:14:02";
"file_name" = "";
message = Truee;
"message_id" = 18830;
"message_type" = 0;
"prev_session_message_id" = 18829;
"replied_message" = "The IT OPS Manager until last year was more sexy. But now with vision it will quickly become a 1 man show. Delivery more visible.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18826;
"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"): 18830]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 13:14:02";
"file_name" = "";
message = Truee;
"message_id" = 18830;
"message_type" = 0;
"prev_session_message_id" = 18829;
"replied_message" = "The IT OPS Manager until last year was more sexy. But now with vision it will quickly become a 1 man show. Delivery more visible.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18826;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18830]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18830]
datesent = "2026-01-23 13:14:13";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 18831;
"message_type" = 0;
"prev_session_message_id" = 18830;
"replied_message" = "Babyyyy. You're sooo mean";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18829;
"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"): 18831, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 13:14:13";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 18831;
"message_type" = 0;
"prev_session_message_id" = 18830;
"replied_message" = "Babyyyy. You're sooo mean";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18829;
"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"): 18831, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 13:14:13";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 18831;
"message_type" = 0;
"prev_session_message_id" = 18830;
"replied_message" = "Babyyyy. You're sooo mean";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18829;
"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;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18831, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18832, AnyHashable("operation_type"): 3, 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"): 18833, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 13:14:57";
"file_name" = "";
message = "But it means taht being a king of nothing \Ud83e\Udd23 and this also good if you can manage";
"message_id" = 18833;
"message_type" = 0;
"prev_session_message_id" = 18832;
"replied_message" = "The IT OPS Manager until last year was more sexy. But now with vision it will quickly become a 1 man show. Delivery more visible.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18826;
"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-01-23 13:14:57";
"file_name" = "";
message = "But it means taht being a king of nothing \Ud83e\Udd23 and this also good if you can manage";
"message_id" = 18833;
"message_type" = 0;
"prev_session_message_id" = 18832;
"replied_message" = "The IT OPS Manager until last year was more sexy. But now with vision it will quickly become a 1 man show. Delivery more visible.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18826;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18833]
"content-available" = 1;
}, AnyHashable("message_id"): 18833]
datesent = "2026-01-23 13:18:12";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18835;
"message_type" = 0;
"prev_session_message_id" = 18834;
"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"): 18835, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 13:18:12";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18835;
"message_type" = 0;
"prev_session_message_id" = 18834;
"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"): 18835, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 13:18:12";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18835;
"message_type" = 0;
"prev_session_message_id" = 18834;
"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;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18836, AnyHashable("message_data"): {
datesent = "2026-01-23 13:18:12";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18836;
"message_type" = 0;
"prev_session_message_id" = 18835;
"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("message_id"): 18836, AnyHashable("message_data"): {
datesent = "2026-01-23 13:18:12";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18836;
"message_type" = 0;
"prev_session_message_id" = 18835;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-23 13:18:12";
"file_name" = "";
message = "Mmmm\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 18836;
"message_type" = 0;
"prev_session_message_id" = 18835;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18836, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18836]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18834]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18837, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 13:18:20";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 18837;
"message_type" = 0;
"prev_session_message_id" = 18836;
"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("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 13:18:20";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 18837;
"message_type" = 0;
"prev_session_message_id" = 18836;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18837, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 13:18:20";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 18837;
"message_type" = 0;
"prev_session_message_id" = 18836;
"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"): 18837, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18838]
datesent = "2026-01-23 13:18:36";
"file_name" = "";
message = "Do I have a potential ?";
"message_id" = 18839;
"message_type" = 0;
"prev_session_message_id" = 18838;
"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"): 18839, 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-01-23 13:18:36";
"file_name" = "";
message = "Do I have a potential ?";
"message_id" = 18839;
"message_type" = 0;
"prev_session_message_id" = 18838;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18839]
"content-available" = 1;
}, AnyHashable("message_id"): 18839]
datesent = "2026-01-23 13:22:02";
"file_name" = "";
message = "What\U2019s yours?";
"message_id" = 18843;
"message_type" = 0;
"prev_session_message_id" = 18842;
"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]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18843, AnyHashable("message_data"): {
datesent = "2026-01-23 13:22:02";
"file_name" = "";
message = "What\U2019s yours?";
"message_id" = 18843;
"message_type" = 0;
"prev_session_message_id" = 18842;
"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;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 14:02:31";
"file_name" = "";
message = "Wow, 10 years???! Really \Ud83d\Ude33\Ud83d\Ude33\Ud83d\Ude33\Ud83d\Ude33";
"message_id" = 18845;
"message_type" = 0;
"prev_session_message_id" = 18844;
"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-01-23 14:02:31";
"file_name" = "";
message = "Wow, 10 years???! Really \Ud83d\Ude33\Ud83d\Ude33\Ud83d\Ude33\Ud83d\Ude33";
"message_id" = 18845;
"message_type" = 0;
"prev_session_message_id" = 18844;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18845]
"content-available" = 1;
}, AnyHashable("message_id"): 18845]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18842]
datesent = "2026-01-23 14:02:40";
"file_name" = "";
message = "You deserve more!";
"message_id" = 18846;
"message_type" = 0;
"prev_session_message_id" = 18845;
"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-01-23 14:02:40";
"file_name" = "";
message = "You deserve more!";
"message_id" = 18846;
"message_type" = 0;
"prev_session_message_id" = 18845;
"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-01-23 14:02:40";
"file_name" = "";
message = "You deserve more!";
"message_id" = 18846;
"message_type" = 0;
"prev_session_message_id" = 18845;
"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"): 18846]
"content-available" = 1;
}, AnyHashable("message_id"): 18846, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 14:02:53";
"file_name" = "";
message = Baby;
"message_id" = 18847;
"message_type" = 0;
"prev_session_message_id" = 18846;
"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"): 18847]
datesent = "2026-01-23 14:02:53";
"file_name" = "";
message = Baby;
"message_id" = 18847;
"message_type" = 0;
"prev_session_message_id" = 18846;
"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"): 18847]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 14:02:53";
"file_name" = "";
message = Baby;
"message_id" = 18847;
"message_type" = 0;
"prev_session_message_id" = 18846;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18847, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18847, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 14:02:59";
"file_name" = "";
message = "An order for you";
"message_id" = 18849;
"message_type" = 0;
"prev_session_message_id" = 18848;
"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, AnyHashable("message_id"): 18849]
datesent = "2026-01-23 14:02:59";
"file_name" = "";
message = "An order for you";
"message_id" = 18849;
"message_type" = 0;
"prev_session_message_id" = 18848;
"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, AnyHashable("message_id"): 18849]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18849, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 14:02:59";
"file_name" = "";
message = "An order for you";
"message_id" = 18849;
"message_type" = 0;
"prev_session_message_id" = 18848;
"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"): 18849]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18848]
datesent = "2026-01-23 14:03:15";
"file_name" = "";
message = "I want you to come tonight!";
"message_id" = 18850;
"message_type" = 0;
"prev_session_message_id" = 18849;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18850, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 14:03:15";
"file_name" = "";
message = "I want you to come tonight!";
"message_id" = 18850;
"message_type" = 0;
"prev_session_message_id" = 18849;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18850, 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-01-23 14:03:15";
"file_name" = "";
message = "I want you to come tonight!";
"message_id" = 18850;
"message_type" = 0;
"prev_session_message_id" = 18849;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18850, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18850, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 14:03:25";
"file_name" = "";
message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83e\Udd7a";
"message_id" = 18851;
"message_type" = 0;
"prev_session_message_id" = 18850;
"replied_message" = "Yeah baby. But blocked 8 years by Amar and Natascia.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18848;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18851, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-23 14:03:25";
"file_name" = "";
message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83e\Udd7a";
"message_id" = 18851;
"message_type" = 0;
"prev_session_message_id" = 18850;
"replied_message" = "Yeah baby. But blocked 8 years by Amar and Natascia.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18848;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18851, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-23 14:03:25";
"file_name" = "";
message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83e\Udd7a";
"message_id" = 18851;
"message_type" = 0;
"prev_session_message_id" = 18850;
"replied_message" = "Yeah baby. But blocked 8 years by Amar and Natascia.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18848;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18851, 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]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18853, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18854, 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-01-23 14:04:18";
"file_name" = "";
message = "I want you to come! There is no but !";
"message_id" = 18856;
"message_type" = 0;
"prev_session_message_id" = 18855;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18856, 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"): 18856, AnyHashable("message_data"): {
datesent = "2026-01-23 14:04:18";
"file_name" = "";
message = "I want you to come! There is no but !";
"message_id" = 18856;
"message_type" = 0;
"prev_session_message_id" = 18855;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18856, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 14:04:26";
"file_name" = "";
message = "I will";
"message_id" = 18857;
"message_type" = 0;
"prev_session_message_id" = 18856;
"replied_message" = "You can me suffer much more";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18854;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18857, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 14:04:26";
"file_name" = "";
message = "I will";
"message_id" = 18857;
"message_type" = 0;
"prev_session_message_id" = 18856;
"replied_message" = "You can me suffer much more";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18854;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18857, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 14:04:26";
"file_name" = "";
message = "I will";
"message_id" = 18857;
"message_type" = 0;
"prev_session_message_id" = 18856;
"replied_message" = "You can me suffer much more";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18854;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18857, 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("session_id"): ILUIWU, AnyHashable("message_id"): 18858, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 14:04:47";
"file_name" = "";
message = "But this is what I want right now";
"message_id" = 18858;
"message_type" = 0;
"prev_session_message_id" = 18857;
"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"): 18858, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 14:04:47";
"file_name" = "";
message = "But this is what I want right now";
"message_id" = 18858;
"message_type" = 0;
"prev_session_message_id" = 18857;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-01-23 14:04:47";
"file_name" = "";
message = "But this is what I want right now";
"message_id" = 18858;
"message_type" = 0;
"prev_session_message_id" = 18857;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18858, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18858]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 14:12:56";
"file_name" = "";
message = "You have to think about me for sure \Ud83d\Ude0f\Ud83d\Ude09";
"message_id" = 18860;
"message_type" = 0;
"prev_session_message_id" = 18859;
"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"): 18860]
"content-available" = 1;
}, AnyHashable("message_id"): 18860]
datesent = "2026-01-23 14:13:23";
"file_name" = "";
message = "But it doesn\U2019t matter with her or alone. You decide !";
"message_id" = 18861;
"message_type" = 0;
"prev_session_message_id" = 18860;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18861, 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-01-23 14:13:23";
"file_name" = "";
message = "But it doesn\U2019t matter with her or alone. You decide !";
"message_id" = 18861;
"message_type" = 0;
"prev_session_message_id" = 18860;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18861, 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("message_data"): {
datesent = "2026-01-23 14:13:23";
"file_name" = "";
message = "But it doesn\U2019t matter with her or alone. You decide !";
"message_id" = 18861;
"message_type" = 0;
"prev_session_message_id" = 18860;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18861]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18861]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18859, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18863]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18865]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18865,"event_type":2}
"content-available" = 1;
}]
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("message_id"): 18866, 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"): 18866, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18866]
datesent = "2026-01-23 14:43:44";
"file_name" = "";
message = "IWU2 my looooove\U2665\Ufe0f";
"message_id" = 18867;
"message_type" = 0;
"prev_session_message_id" = 18866;
"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"): 18867, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 14:43:44";
"file_name" = "";
message = "IWU2 my looooove\U2665\Ufe0f";
"message_id" = 18867;
"message_type" = 0;
"prev_session_message_id" = 18866;
"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"): 18867, 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"): 18867, AnyHashable("message_data"): {
datesent = "2026-01-23 14:43:44";
"file_name" = "";
message = "IWU2 my looooove\U2665\Ufe0f";
"message_id" = 18867;
"message_type" = 0;
"prev_session_message_id" = 18866;
"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;
}]
datesent = "2026-01-23 14:44:19";
"file_name" = "";
message = "Dinner at swiss with melis\Ud83d\Ude43";
"message_id" = 18869;
"message_type" = 0;
"prev_session_message_id" = 18868;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18869, 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("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-01-23 14:44:28";
"file_name" = "";
message = "You saw on my agenda \Ud83e\Udd2d";
"message_id" = 18870;
"message_type" = 0;
"prev_session_message_id" = 18869;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18870]
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-01-23 14:44:28";
"file_name" = "";
message = "You saw on my agenda \Ud83e\Udd2d";
"message_id" = 18870;
"message_type" = 0;
"prev_session_message_id" = 18869;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18870]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18870, AnyHashable("message_data"): {
datesent = "2026-01-23 14:44:28";
"file_name" = "";
message = "You saw on my agenda \Ud83e\Udd2d";
"message_id" = 18870;
"message_type" = 0;
"prev_session_message_id" = 18869;
"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"): 18870, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18872]
"content-available" = 1;
}, AnyHashable("message_id"): 18873, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18873, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18873, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18873, 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("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 14:46:03";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 18877;
"message_type" = 0;
"prev_session_message_id" = 18876;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18877]
datesent = "2026-01-23 14:46:03";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 18877;
"message_type" = 0;
"prev_session_message_id" = 18876;
"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"): 18877, AnyHashable("operation_type"): 3, 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"): 18878, AnyHashable("message_data"): {
datesent = "2026-01-23 14:46:29";
"file_name" = "";
message = "Have you ever tried anything different with your wife during sex?";
"message_id" = 18878;
"message_type" = 0;
"prev_session_message_id" = 18877;
"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"): 18878]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18878]
datesent = "2026-01-23 14:46:43";
"file_name" = "";
message = "Or what was the different one\Ud83e\Udd2d";
"message_id" = 18879;
"message_type" = 0;
"prev_session_message_id" = 18878;
"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-01-23 14:46:43";
"file_name" = "";
message = "Or what was the different one\Ud83e\Udd2d";
"message_id" = 18879;
"message_type" = 0;
"prev_session_message_id" = 18878;
"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-01-23 14:46:43";
"file_name" = "";
message = "Or what was the different one\Ud83e\Udd2d";
"message_id" = 18879;
"message_type" = 0;
"prev_session_message_id" = 18878;
"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"): 18879]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18879]
datesent = "2026-01-23 14:46:55";
"file_name" = "";
message = "I want you to try something different today";
"message_id" = 18880;
"message_type" = 0;
"prev_session_message_id" = 18879;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18880, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 14:46:55";
"file_name" = "";
message = "I want you to try something different today";
"message_id" = 18880;
"message_type" = 0;
"prev_session_message_id" = 18879;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18880, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 14:46:55";
"file_name" = "";
message = "I want you to try something different today";
"message_id" = 18880;
"message_type" = 0;
"prev_session_message_id" = 18879;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18880, 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("message_id"): 18880]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18881, AnyHashable("message_data"): {
datesent = "2026-01-23 14:47:02";
"file_name" = "";
message = "Different position maybe";
"message_id" = 18881;
"message_type" = 0;
"prev_session_message_id" = 18880;
"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_id"): 18881, AnyHashable("message_data"): {
datesent = "2026-01-23 14:47:02";
"file_name" = "";
message = "Different position maybe";
"message_id" = 18881;
"message_type" = 0;
"prev_session_message_id" = 18880;
"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-01-23 14:47:02";
"file_name" = "";
message = "Different position maybe";
"message_id" = 18881;
"message_type" = 0;
"prev_session_message_id" = 18880;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18881, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18875]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18875]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18882]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 14:47:47";
"file_name" = "";
message = "What about oral sex?";
"message_id" = 18883;
"message_type" = 0;
"prev_session_message_id" = 18882;
"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-01-23 14:47:47";
"file_name" = "";
message = "What about oral sex?";
"message_id" = 18883;
"message_type" = 0;
"prev_session_message_id" = 18882;
"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-01-23 14:47:47";
"file_name" = "";
message = "What about oral sex?";
"message_id" = 18883;
"message_type" = 0;
"prev_session_message_id" = 18882;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18883, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18883, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 14:47:53";
"file_name" = "";
message = "Does she like?";
"message_id" = 18884;
"message_type" = 0;
"prev_session_message_id" = 18883;
"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-01-23 14:47:53";
"file_name" = "";
message = "Does she like?";
"message_id" = 18884;
"message_type" = 0;
"prev_session_message_id" = 18883;
"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-01-23 14:47:53";
"file_name" = "";
message = "Does she like?";
"message_id" = 18884;
"message_type" = 0;
"prev_session_message_id" = 18883;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 18884, 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-01-23 14:48:11";
"file_name" = "";
message = "Or do you like to do with her?";
"message_id" = 18885;
"message_type" = 0;
"prev_session_message_id" = 18884;
"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-01-23 14:48:11";
"file_name" = "";
message = "Or do you like to do with her?";
"message_id" = 18885;
"message_type" = 0;
"prev_session_message_id" = 18884;
"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("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 14:48:11";
"file_name" = "";
message = "Or do you like to do with her?";
"message_id" = 18885;
"message_type" = 0;
"prev_session_message_id" = 18884;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18885]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18886, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 14:49:51";
"file_name" = "";
message = "Can you watch it?";
"message_id" = 18888;
"message_type" = 0;
"prev_session_message_id" = 18887;
"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"): 18888, 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-01-23 14:49:51";
"file_name" = "";
message = "Can you watch it?";
"message_id" = 18888;
"message_type" = 0;
"prev_session_message_id" = 18887;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18888, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18888]
datesent = "2026-01-23 14:50:45";
"file_name" = "";
message = "I guess I dont want to see it";
"message_id" = 18891;
"message_type" = 0;
"prev_session_message_id" = 18890;
"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"): 18891, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18891, AnyHashable("message_data"): {
datesent = "2026-01-23 14:50:45";
"file_name" = "";
message = "I guess I dont want to see it";
"message_id" = 18891;
"message_type" = 0;
"prev_session_message_id" = 18890;
"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;
}]
"content-available" = 1;
}]
alert = {
body = "";
title = StreamCam;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18894]
"content-available" = 1;
}, AnyHashable("message_id"): 18895, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18895]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18899, AnyHashable("message_data"): {
datesent = "2026-01-23 15:02:27";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23";
"message_id" = 18899;
"message_type" = 0;
"prev_session_message_id" = 18898;
"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("message_id"): 18899, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 15:02:27";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23";
"message_id" = 18899;
"message_type" = 0;
"prev_session_message_id" = 18898;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
datesent = "2026-01-23 15:02:47";
"file_name" = "";
message = "Make sense";
"message_id" = 18900;
"message_type" = 0;
"prev_session_message_id" = 18899;
"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"): 18900]
datesent = "2026-01-23 15:02:47";
"file_name" = "";
message = "Make sense";
"message_id" = 18900;
"message_type" = 0;
"prev_session_message_id" = 18899;
"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"): 18900]
datesent = "2026-01-23 15:02:47";
"file_name" = "";
message = "Make sense";
"message_id" = 18900;
"message_type" = 0;
"prev_session_message_id" = 18899;
"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 = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-23 15:02:49";
"file_name" = "";
message = "\Ud83e\Udd2a\Ud83e\Udd2a";
"message_id" = 18901;
"message_type" = 0;
"prev_session_message_id" = 18900;
"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("message_data"): {
datesent = "2026-01-23 15:02:49";
"file_name" = "";
message = "\Ud83e\Udd2a\Ud83e\Udd2a";
"message_id" = 18901;
"message_type" = 0;
"prev_session_message_id" = 18900;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-23 15:02:49";
"file_name" = "";
message = "\Ud83e\Udd2a\Ud83e\Udd2a";
"message_id" = 18901;
"message_type" = 0;
"prev_session_message_id" = 18900;
"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 = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18901]
datesent = "2026-01-23 15:02:49";
"file_name" = "";
message = "\Ud83e\Udd2a\Ud83e\Udd2a";
"message_id" = 18901;
"message_type" = 0;
"prev_session_message_id" = 18900;
"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 = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18901]
"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"): 18901]
"LocalWebSocketTask <C7341630-21A6-43F5-ADDD-B831DD42DA3E>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C7341630-21A6-43F5-ADDD-B831DD42DA3E>.<1>}
"LocalWebSocketTask <20E4B1E2-2B79-4864-8F48-151078BDDC1B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <20E4B1E2-2B79-4864-8F48-151078BDDC1B>.<1>}
"LocalWebSocketTask <654965D2-C196-4240-990A-C232CC223F7A>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <654965D2-C196-4240-990A-C232CC223F7A>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 18904, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 16:50:35";
"file_name" = "";
message = "Thank you babyy\U2665\Ufe0f";
"message_id" = 18905;
"message_type" = 0;
"prev_session_message_id" = 18904;
"replied_message" = "Enjoy Melis !!";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18903;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18905, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-01-23 16:50:35";
"file_name" = "";
message = "Thank you babyy\U2665\Ufe0f";
"message_id" = 18905;
"message_type" = 0;
"prev_session_message_id" = 18904;
"replied_message" = "Enjoy Melis !!";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18903;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18905, 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"): 18905, AnyHashable("message_data"): {
datesent = "2026-01-23 16:50:35";
"file_name" = "";
message = "Thank you babyy\U2665\Ufe0f";
"message_id" = 18905;
"message_type" = 0;
"prev_session_message_id" = 18904;
"replied_message" = "Enjoy Melis !!";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18903;
"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("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 18907, AnyHashable("message_data"): {
datesent = "2026-01-23 16:50:57";
"file_name" = "";
message = "Time to time, Im seeing you in my dreams";
"message_id" = 18907;
"message_type" = 0;
"prev_session_message_id" = 18906;
"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"): 18907, AnyHashable("message_data"): {
datesent = "2026-01-23 16:50:57";
"file_name" = "";
message = "Time to time, Im seeing you in my dreams";
"message_id" = 18907;
"message_type" = 0;
"prev_session_message_id" = 18906;
"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("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 16:50:57";
"file_name" = "";
message = "Time to time, Im seeing you in my dreams";
"message_id" = 18907;
"message_type" = 0;
"prev_session_message_id" = 18906;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18906, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18907, 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("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 16:51:38";
"file_name" = "";
message = "And every time, Im feeling same way \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 18909;
"message_type" = 0;
"prev_session_message_id" = 18908;
"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("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-23 16:51:38";
"file_name" = "";
message = "And every time, Im feeling same way \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 18909;
"message_type" = 0;
"prev_session_message_id" = 18908;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-01-23 16:51:38";
"file_name" = "";
message = "And every time, Im feeling same way \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 18909;
"message_type" = 0;
"prev_session_message_id" = 18908;
"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"): 18909]
"content-available" = 1;
}, AnyHashable("message_id"): 18909, AnyHashable("operation_type"): 3]
datesent = "2026-01-23 16:51:51";
"file_name" = "";
message = "Still with her baby\U2665\Ufe0f";
"message_id" = 18910;
"message_type" = 0;
"prev_session_message_id" = 18909;
"replied_message" = "Still with her or leaving already ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18906;
"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"): 18910, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 16:51:51";
"file_name" = "";
message = "Still with her baby\U2665\Ufe0f";
"message_id" = 18910;
"message_type" = 0;
"prev_session_message_id" = 18909;
"replied_message" = "Still with her or leaving already ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18906;
"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"): 18910, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-23 16:51:51";
"file_name" = "";
message = "Still with her baby\U2665\Ufe0f";
"message_id" = 18910;
"message_type" = 0;
"prev_session_message_id" = 18909;
"replied_message" = "Still with her or leaving already ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18906;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18910, 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"): 18910, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 18910]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-23 16:51:58";
"file_name" = "";
message = "More than sweet \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 18911;
"message_type" = 0;
"prev_session_message_id" = 18910;
"replied_message" = "Mmmm. Very sweet dreams then \Ud83d\Ude0b";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18908;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18911, 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-01-23 16:51:58";
"file_name" = "";
message = "More than sweet \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 18911;
"message_type" = 0;
"prev_session_message_id" = 18910;
"replied_message" = "Mmmm. Very sweet dreams then \Ud83d\Ude0b";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18908;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 18911, 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-01-23 16:51:58";
"file_name" = "";
message = "More than sweet \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 18911;
"message_type" = 0;
"prev_session_message_id" = 18910;
"replied_message" = "Mmmm. Very sweet dreams then \Ud83d\Ude0b";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 18908;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18911]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 1]
-- Response Headers --
Server: Apache/2.4.65 (Debian)
Date: Fri, 23 Jan 2026 17:23:25 GMT
Content-Length: 67
Keep-Alive: timeout=5, max=97
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
-- Body --
{"ok":true,"event_type":1,"message_id":18912,"session_id":"ILUIWU"}
"content-available" = 1;
}, AnyHashable("message_id"): 18917, 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("operation_type"): 3, AnyHashable("message_id"): 18920, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18921]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18924]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18923]
"content-available" = 1;
}, AnyHashable("message_id"): 18922, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18958,"event_type":2}
"LocalDataTask <CAA5DFEA-6D27-427C-B1A6-564E5EED03D2>.<342>"
), 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[08:18:09] [LOG] Pruned 6020 entries older than 3 hours
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18962]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18965, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18964]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":18973,"event_type":2}[12:29:55] [LOG] Pruned 1968 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("message_id"): 18977]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 18976, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3][16:49:44] [LOG] Pruned 904 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("message_id"): 18982, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-24 13:23:37";
"file_name" = "";
message = "My looooove\U2665\Ufe0f\U2665\Ufe0f";
"message_id" = 18982;
"message_type" = 0;
"prev_session_message_id" = 18981;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 18982, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 18991, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18988]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 18989]
datesent = "2026-01-24 20:37:30";
"file_name" = "";
message = "How is your night going babyyy";
"message_id" = 18997;
"message_type" = 0;
"prev_session_message_id" = 18996;
"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("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19013, AnyHashable("message_data"): {
datesent = "2026-01-24 22:05:51";
"file_name" = "";
message = "Babyyyyyyyy\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 19013;
"message_type" = 0;
"prev_session_message_id" = 19012;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19013]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19014]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19015, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:07:06";
"file_name" = "";
message = "I am actually baby";
"message_id" = 19018;
"message_type" = 0;
"prev_session_message_id" = 19017;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19018, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-01-24 22:07:46";
"file_name" = "";
message = "Nooo\Ud83e\Udd72 my neck is still not good";
"message_id" = 19020;
"message_type" = 0;
"prev_session_message_id" = 19019;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19020, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:07:58";
"file_name" = "";
message = "I\U2019ll go the doctor on Monday";
"message_id" = 19021;
"message_type" = 0;
"prev_session_message_id" = 19020;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19023]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19025, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:08:35";
"file_name" = "";
message = "I dont want to do anything wrong, doctor first";
"message_id" = 19025;
"message_type" = 0;
"prev_session_message_id" = 19024;
"replied_message" = "Will you ask for a massage ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19022;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19026, AnyHashable("message_data"): {
datesent = "2026-01-24 22:08:43";
"file_name" = "";
message = "Maybe..";
"message_id" = 19026;
"message_type" = 0;
"prev_session_message_id" = 19025;
"replied_message" = "Best thing to do. Maybe osteopath can help you";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19024;
"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"): 19026]
"content-available" = 1;
}, AnyHashable("message_id"): 19027, AnyHashable("message_data"): {
datesent = "2026-01-24 22:08:55";
"file_name" = "";
message = "How are you my love";
"message_id" = 19027;
"message_type" = 0;
"prev_session_message_id" = 19026;
"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"): 19027, AnyHashable("message_data"): {
datesent = "2026-01-24 22:08:55";
"file_name" = "";
message = "How are you my love";
"message_id" = 19027;
"message_type" = 0;
"prev_session_message_id" = 19026;
"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]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19029, AnyHashable("message_data"): {
datesent = "2026-01-24 22:09:06";
"file_name" = "";
message = "Everything is good?";
"message_id" = 19029;
"message_type" = 0;
"prev_session_message_id" = 19028;
"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"): 19030]
"content-available" = 1;
}, AnyHashable("message_id"): 19029]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19031]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 19033, AnyHashable("message_data"): {
datesent = "2026-01-24 22:09:44";
"file_name" = "";
message = "Happy for you my love";
"message_id" = 19033;
"message_type" = 0;
"prev_session_message_id" = 19032;
"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"): 19033, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-01-24 22:10:03";
"file_name" = "";
message = "Tomorrow \U26f7\Ufe0f again?";
"message_id" = 19034;
"message_type" = 0;
"prev_session_message_id" = 19033;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19034, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19034, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19035, AnyHashable("operation_type"): 3]
"LocalDataTask <C7A0521C-CA8E-40B0-B976-B338767966F7>.<166>"
), 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"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:12:17";
"file_name" = "";
message = "You tell me\Ud83e\Udd13\Ud83e\Udd13\Ud83e\Udd2a";
"message_id" = 19038;
"message_type" = 0;
"prev_session_message_id" = 19037;
"replied_message" = "Spoiled me, am I not \Ud83d\Ude01 ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19036;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19038]
"content-available" = 1;
}, AnyHashable("message_id"): 19038, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19039, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19037]
"content-available" = 1;
}, AnyHashable("message_id"): 19040, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-24 22:12:46";
"file_name" = "";
message = "How many hours to your home ?";
"message_id" = 19040;
"message_type" = 0;
"prev_session_message_id" = 19039;
"replied_message" = "I don't think so. We will leave back to home just after lunch time I think so easy peazy in the morning normally";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19035;
"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;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19041]
"LocalDataTask <2115A431-8814-4310-B92A-33E915FC1898>.<192>"
), 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]
"content-available" = 1;
}, AnyHashable("message_id"): 19044, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:13:28";
"file_name" = "";
message = "I\U2019ll be early tomorrow, we are going to breakfast with gorkem, emrah and others";
"message_id" = 19044;
"message_type" = 0;
"prev_session_message_id" = 19043;
"replied_message" = "And for once a late wake up hopefully also";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19039;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19043, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:13:51";
"file_name" = "";
message = "Wooow closer than expected";
"message_id" = 19045;
"message_type" = 0;
"prev_session_message_id" = 19044;
"replied_message" = "It's roughly 1h45 drive time so not too far";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19042;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19045]
datesent = "2026-01-24 22:13:56";
"file_name" = "";
message = "Lucky youuuu";
"message_id" = 19047;
"message_type" = 0;
"prev_session_message_id" = 19046;
"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"): 19047]
"content-available" = 1;
}, AnyHashable("message_id"): 19045, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 19047]
datesent = "2026-01-24 22:14:50";
"file_name" = "";
message = "Yes Im actually. Im a social butterfly \Ud83e\Udd2a";
"message_id" = 19049;
"message_type" = 0;
"prev_session_message_id" = 19048;
"replied_message" = "Oh. Business morning for my baby \Ud83d\Ude0a You like such outings ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19046;
"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("message_id"): 19049]
"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"): 19049]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:15:37";
"file_name" = "";
message = "You can\U2019t imagine \Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude09";
"message_id" = 19051;
"message_type" = 0;
"prev_session_message_id" = 19050;
"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"): 19051]
"content-available" = 1;
}]
"LocalDataTask <07F0EA4B-4990-4764-AF66-8F6223E8FCFA>.<273>"
), 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"): 19053]
datesent = "2026-01-24 22:21:27";
"file_name" = "";
message = "Yes true, not a good thing but its not including negative feelings. I mean yes Im jealous of you but in a positive way.";
"message_id" = 19056;
"message_type" = 0;
"prev_session_message_id" = 19055;
"replied_message" = "I was thinking about it today and really value the fact you're jealous of my wife. I know it's usually not good to be jealous but it shows you are really living that sense of belonging. I belong to you.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19052;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19056, 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-01-24 22:21:27";
"file_name" = "";
message = "Yes true, not a good thing but its not including negative feelings. I mean yes Im jealous of you but in a positive way.";
"message_id" = 19056;
"message_type" = 0;
"prev_session_message_id" = 19055;
"replied_message" = "I was thinking about it today and really value the fact you're jealous of my wife. I know it's usually not good to be jealous but it shows you are really living that sense of belonging. I belong to you.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19052;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19056, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
datesent = "2026-01-24 22:22:07";
"file_name" = "";
message = "Ha ha";
"message_id" = 19060;
"message_type" = 0;
"prev_session_message_id" = 19059;
"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]
datesent = "2026-01-24 22:22:07";
"file_name" = "";
message = "Ha ha";
"message_id" = 19060;
"message_type" = 0;
"prev_session_message_id" = 19059;
"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]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:22:07";
"file_name" = "";
message = "Ha ha";
"message_id" = 19060;
"message_type" = 0;
"prev_session_message_id" = 19059;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19060]
"content-available" = 1;
}]
"content-available" = 1;
}]
datesent = "2026-01-24 22:22:44";
"file_name" = "";
message = "Trueee!";
"message_id" = 19061;
"message_type" = 0;
"prev_session_message_id" = 19060;
"replied_message" = "Every element is an opportunity for us baby";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19059;
"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"): 19061, AnyHashable("operation_type"): 0]
datesent = "2026-01-24 22:22:44";
"file_name" = "";
message = "Trueee!";
"message_id" = 19061;
"message_type" = 0;
"prev_session_message_id" = 19060;
"replied_message" = "Every element is an opportunity for us baby";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19059;
"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"): 19061, AnyHashable("operation_type"): 0]
datesent = "2026-01-24 22:22:44";
"file_name" = "";
message = "Trueee!";
"message_id" = 19061;
"message_type" = 0;
"prev_session_message_id" = 19060;
"replied_message" = "Every element is an opportunity for us baby";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19059;
"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"): 19061, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19062]
"LocalWebSocketTask <5689C622-E2B1-4A2D-BAB4-5885B3C95F94>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5689C622-E2B1-4A2D-BAB4-5885B3C95F94>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:23:50";
"file_name" = "";
message = "Nope\Ud83d\Ude0f";
"message_id" = 19063;
"message_type" = 0;
"prev_session_message_id" = 19062;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19063, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 19063, AnyHashable("message_data"): {
datesent = "2026-01-24 22:23:50";
"file_name" = "";
message = "Nope\Ud83d\Ude0f";
"message_id" = 19063;
"message_type" = 0;
"prev_session_message_id" = 19062;
"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("message_id"): 19064, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19065]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19065, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 19066]
"LocalWebSocketTask <B93BC599-712F-4EFB-AA44-FDBE88417BC2>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <B93BC599-712F-4EFB-AA44-FDBE88417BC2>.<1>}
datesent = "2026-01-24 22:25:46";
"file_name" = "";
message = "You have to convince me for 1-1, I mean when I want to come then you may come";
"message_id" = 19067;
"message_type" = 0;
"prev_session_message_id" = 19066;
"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-01-24 22:25:46";
"file_name" = "";
message = "You have to convince me for 1-1, I mean when I want to come then you may come";
"message_id" = 19067;
"message_type" = 0;
"prev_session_message_id" = 19066;
"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_id"): 19067, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:25:46";
"file_name" = "";
message = "You have to convince me for 1-1, I mean when I want to come then you may come";
"message_id" = 19067;
"message_type" = 0;
"prev_session_message_id" = 19066;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-01-24 22:26:14";
"file_name" = "";
message = "Which means you have to turn me on\Ud83e\Udd2d";
"message_id" = 19068;
"message_type" = 0;
"prev_session_message_id" = 19067;
"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-01-24 22:26:14";
"file_name" = "";
message = "Which means you have to turn me on\Ud83e\Udd2d";
"message_id" = 19068;
"message_type" = 0;
"prev_session_message_id" = 19067;
"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]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-24 22:26:14";
"file_name" = "";
message = "Which means you have to turn me on\Ud83e\Udd2d";
"message_id" = 19068;
"message_type" = 0;
"prev_session_message_id" = 19067;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19068, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19069, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
datesent = "2026-01-24 22:26:48";
"file_name" = "";
message = Yeap;
"message_id" = 19071;
"message_type" = 0;
"prev_session_message_id" = 19070;
"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-01-24 22:26:48";
"file_name" = "";
message = Yeap;
"message_id" = 19071;
"message_type" = 0;
"prev_session_message_id" = 19070;
"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_id"): 19071, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:26:48";
"file_name" = "";
message = Yeap;
"message_id" = 19071;
"message_type" = 0;
"prev_session_message_id" = 19070;
"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("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
datesent = "2026-01-24 22:27:22";
"file_name" = "";
message = Correct;
"message_id" = 19074;
"message_type" = 0;
"prev_session_message_id" = 19073;
"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-01-24 22:27:22";
"file_name" = "";
message = Correct;
"message_id" = 19074;
"message_type" = 0;
"prev_session_message_id" = 19073;
"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_id"): 19074, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:27:22";
"file_name" = "";
message = Correct;
"message_id" = 19074;
"message_type" = 0;
"prev_session_message_id" = 19073;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19074]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19074]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:30:21";
"file_name" = "";
message = "Oh babyyy come on! Of course turned on! But I wasn\U2019t alone so I didn\U2019t have a chance to enjoy with them \Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24";
"message_id" = 19077;
"message_type" = 0;
"prev_session_message_id" = 19076;
"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"): 19077]
datesent = "2026-01-24 22:30:21";
"file_name" = "";
message = "Oh babyyy come on! Of course turned on! But I wasn\U2019t alone so I didn\U2019t have a chance to enjoy with them \Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24";
"message_id" = 19077;
"message_type" = 0;
"prev_session_message_id" = 19076;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19077, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19077, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19078]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:31:38";
"file_name" = "";
message = "Yes baby \U2665\Ufe0f";
"message_id" = 19079;
"message_type" = 0;
"prev_session_message_id" = 19078;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19079, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:31:38";
"file_name" = "";
message = "Yes baby \U2665\Ufe0f";
"message_id" = 19079;
"message_type" = 0;
"prev_session_message_id" = 19078;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19079, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:31:38";
"file_name" = "";
message = "Yes baby \U2665\Ufe0f";
"message_id" = 19079;
"message_type" = 0;
"prev_session_message_id" = 19078;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19079, 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("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:31:38";
"file_name" = "";
message = "Yes baby \U2665\Ufe0f";
"message_id" = 19079;
"message_type" = 0;
"prev_session_message_id" = 19078;
"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;
}]
datesent = "2026-01-24 22:33:32";
"file_name" = "";
message = "In bed, starting slowly";
"message_id" = 19084;
"message_type" = 0;
"prev_session_message_id" = 19083;
"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]
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"): 19084, AnyHashable("message_data"): {
datesent = "2026-01-24 22:33:32";
"file_name" = "";
message = "In bed, starting slowly";
"message_id" = 19084;
"message_type" = 0;
"prev_session_message_id" = 19083;
"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"): 19084]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 1]
-- Response Headers --
Date: Sat, 24 Jan 2026 22:35:56 GMT
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.65 (Debian)
Content-Length: 67
Connection: Keep-Alive
-- Body --
{"ok":true,"event_type":1,"message_id":19083,"session_id":"ILUIWU"}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:36:38";
"file_name" = "";
message = "I want him!";
"message_id" = 19088;
"message_type" = 0;
"prev_session_message_id" = 19087;
"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-01-24 22:36:38";
"file_name" = "";
message = "I want him!";
"message_id" = 19088;
"message_type" = 0;
"prev_session_message_id" = 19087;
"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_id"): 19088, AnyHashable("message_data"): {
datesent = "2026-01-24 22:36:38";
"file_name" = "";
message = "I want him!";
"message_id" = 19088;
"message_type" = 0;
"prev_session_message_id" = 19087;
"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]
datesent = "2026-01-24 22:36:44";
"file_name" = "";
message = "In me!";
"message_id" = 19089;
"message_type" = 0;
"prev_session_message_id" = 19088;
"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-01-24 22:36:44";
"file_name" = "";
message = "In me!";
"message_id" = 19089;
"message_type" = 0;
"prev_session_message_id" = 19088;
"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-01-24 22:36:44";
"file_name" = "";
message = "In me!";
"message_id" = 19089;
"message_type" = 0;
"prev_session_message_id" = 19088;
"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]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19089]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19090]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":19090,"event_type":2}
"content-available" = 1;
}, AnyHashable("message_id"): 19090, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:37:11";
"file_name" = "";
message = "Yes baby, I can";
"message_id" = 19091;
"message_type" = 0;
"prev_session_message_id" = 19090;
"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-01-24 22:37:11";
"file_name" = "";
message = "Yes baby, I can";
"message_id" = 19091;
"message_type" = 0;
"prev_session_message_id" = 19090;
"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-01-24 22:37:11";
"file_name" = "";
message = "Yes baby, I can";
"message_id" = 19091;
"message_type" = 0;
"prev_session_message_id" = 19090;
"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"): 19091]
"content-available" = 1;
}, AnyHashable("message_id"): 19091, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:37:33";
"file_name" = "";
message = "From your face, from his shape, I can see\Ud83d\Ude0f\Ud83e\Udd24";
"message_id" = 19093;
"message_type" = 0;
"prev_session_message_id" = 19092;
"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"): 19093]
datesent = "2026-01-24 22:37:33";
"file_name" = "";
message = "From your face, from his shape, I can see\Ud83d\Ude0f\Ud83e\Udd24";
"message_id" = 19093;
"message_type" = 0;
"prev_session_message_id" = 19092;
"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"): 19093]
datesent = "2026-01-24 22:37:33";
"file_name" = "";
message = "From your face, from his shape, I can see\Ud83d\Ude0f\Ud83e\Udd24";
"message_id" = 19093;
"message_type" = 0;
"prev_session_message_id" = 19092;
"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"): 19093, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19094, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:41:06";
"file_name" = "";
message = Babyy;
"message_id" = 19095;
"message_type" = 0;
"prev_session_message_id" = 19094;
"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"): 19095]
datesent = "2026-01-24 22:41:06";
"file_name" = "";
message = Babyy;
"message_id" = 19095;
"message_type" = 0;
"prev_session_message_id" = 19094;
"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"): 19095]
datesent = "2026-01-24 22:41:06";
"file_name" = "";
message = Babyy;
"message_id" = 19095;
"message_type" = 0;
"prev_session_message_id" = 19094;
"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"): 19095]
"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-01-24 22:41:18";
"file_name" = "";
message = "I need you";
"message_id" = 19096;
"message_type" = 0;
"prev_session_message_id" = 19095;
"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-01-24 22:41:18";
"file_name" = "";
message = "I need you";
"message_id" = 19096;
"message_type" = 0;
"prev_session_message_id" = 19095;
"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-01-24 22:41:18";
"file_name" = "";
message = "I need you";
"message_id" = 19096;
"message_type" = 0;
"prev_session_message_id" = 19095;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19096]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19096]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19097]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":19098,"event_type":2}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19098, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:42:03";
"file_name" = "";
message = "Sooooo much!!!";
"message_id" = 19099;
"message_type" = 0;
"prev_session_message_id" = 19098;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19099, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:42:03";
"file_name" = "";
message = "Sooooo much!!!";
"message_id" = 19099;
"message_type" = 0;
"prev_session_message_id" = 19098;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19099, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:42:03";
"file_name" = "";
message = "Sooooo much!!!";
"message_id" = 19099;
"message_type" = 0;
"prev_session_message_id" = 19098;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19099, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:42:03";
"file_name" = "";
message = "Sooooo much!!!";
"message_id" = 19099;
"message_type" = 0;
"prev_session_message_id" = 19098;
"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("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":19100,"event_type":2}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19100]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:44:01";
"file_name" = "";
message = "Yes but, probably not so quickly";
"message_id" = 19101;
"message_type" = 0;
"prev_session_message_id" = 19100;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19101, 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-01-24 22:44:01";
"file_name" = "";
message = "Yes but, probably not so quickly";
"message_id" = 19101;
"message_type" = 0;
"prev_session_message_id" = 19100;
"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"): 19101]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:46:28";
"file_name" = "";
message = "He will come in 15 mins I guess, almost 2am here";
"message_id" = 19104;
"message_type" = 0;
"prev_session_message_id" = 19103;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19104]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:46:28";
"file_name" = "";
message = "He will come in 15 mins I guess, almost 2am here";
"message_id" = 19104;
"message_type" = 0;
"prev_session_message_id" = 19103;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19104]
datesent = "2026-01-24 22:46:28";
"file_name" = "";
message = "He will come in 15 mins I guess, almost 2am here";
"message_id" = 19104;
"message_type" = 0;
"prev_session_message_id" = 19103;
"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;
}]
datesent = "2026-01-24 22:47:08";
"file_name" = "";
message = "I want to keep myself at 5 \Ud83e\Udd2d";
"message_id" = 19105;
"message_type" = 0;
"prev_session_message_id" = 19104;
"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]
datesent = "2026-01-24 22:47:08";
"file_name" = "";
message = "I want to keep myself at 5 \Ud83e\Udd2d";
"message_id" = 19105;
"message_type" = 0;
"prev_session_message_id" = 19104;
"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]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:47:08";
"file_name" = "";
message = "I want to keep myself at 5 \Ud83e\Udd2d";
"message_id" = 19105;
"message_type" = 0;
"prev_session_message_id" = 19104;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19105]
"content-available" = 1;
}, AnyHashable("message_id"): 19106]
"content-available" = 1;
}, AnyHashable("message_id"): 19105, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:47:49";
"file_name" = "";
message = "What about you? Are you gonna sleep or read a book?";
"message_id" = 19108;
"message_type" = 0;
"prev_session_message_id" = 19107;
"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;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 19108, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-24 22:47:49";
"file_name" = "";
message = "What about you? Are you gonna sleep or read a book?";
"message_id" = 19108;
"message_type" = 0;
"prev_session_message_id" = 19107;
"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;
}, AnyHashable("message_id"): 19109, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:48:37";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 19110;
"message_type" = 0;
"prev_session_message_id" = 19109;
"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"): 19110]
datesent = "2026-01-24 22:48:37";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 19110;
"message_type" = 0;
"prev_session_message_id" = 19109;
"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"): 19110]
datesent = "2026-01-24 22:48:37";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 19110;
"message_type" = 0;
"prev_session_message_id" = 19109;
"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"): 19110, AnyHashable("operation_type"): 0]
"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("message_id"): 19112, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:48:54";
"file_name" = "";
message = "I want to see you in my dreams again! Come plsss";
"message_id" = 19112;
"message_type" = 0;
"prev_session_message_id" = 19111;
"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"): 19112, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:48:54";
"file_name" = "";
message = "I want to see you in my dreams again! Come plsss";
"message_id" = 19112;
"message_type" = 0;
"prev_session_message_id" = 19111;
"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-01-24 22:48:54";
"file_name" = "";
message = "I want to see you in my dreams again! Come plsss";
"message_id" = 19112;
"message_type" = 0;
"prev_session_message_id" = 19111;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19112]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 19112, AnyHashable("message_data"): {
datesent = "2026-01-24 22:48:54";
"file_name" = "";
message = "I want to see you in my dreams again! Come plsss";
"message_id" = 19112;
"message_type" = 0;
"prev_session_message_id" = 19111;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19112]
"content-available" = 1;
}, 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_id"): 19115, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:49:39";
"file_name" = "";
message = "If you are not so tired, then one more 1-0 would be great \Ud83d\Ude09";
"message_id" = 19115;
"message_type" = 0;
"prev_session_message_id" = 19114;
"replied_message" = "(assuming you don't want to be more cruel with me \Ud83d\Ude09)";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19111;
"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"): 19115, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:49:39";
"file_name" = "";
message = "If you are not so tired, then one more 1-0 would be great \Ud83d\Ude09";
"message_id" = 19115;
"message_type" = 0;
"prev_session_message_id" = 19114;
"replied_message" = "(assuming you don't want to be more cruel with me \Ud83d\Ude09)";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19111;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-01-24 22:49:39";
"file_name" = "";
message = "If you are not so tired, then one more 1-0 would be great \Ud83d\Ude09";
"message_id" = 19115;
"message_type" = 0;
"prev_session_message_id" = 19114;
"replied_message" = "(assuming you don't want to be more cruel with me \Ud83d\Ude09)";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19111;
"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;
}]
datesent = "2026-01-24 22:49:52";
"file_name" = "";
message = "Ha ha \Ud83e\Udd2a";
"message_id" = 19116;
"message_type" = 0;
"prev_session_message_id" = 19115;
"replied_message" = "I know. In your dreams \Ud83d\Ude01";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19114;
"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-01-24 22:49:52";
"file_name" = "";
message = "Ha ha \Ud83e\Udd2a";
"message_id" = 19116;
"message_type" = 0;
"prev_session_message_id" = 19115;
"replied_message" = "I know. In your dreams \Ud83d\Ude01";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19114;
"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-01-24 22:49:52";
"file_name" = "";
message = "Ha ha \Ud83e\Udd2a";
"message_id" = 19116;
"message_type" = 0;
"prev_session_message_id" = 19115;
"replied_message" = "I know. In your dreams \Ud83d\Ude01";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 19114;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19116]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19116, 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"): 19118, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:01";
"file_name" = "";
message = "\U2665\Ufe0f\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 19118;
"message_type" = 0;
"prev_session_message_id" = 19117;
"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"): 19118, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:01";
"file_name" = "";
message = "\U2665\Ufe0f\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 19118;
"message_type" = 0;
"prev_session_message_id" = 19117;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-01-24 22:50:01";
"file_name" = "";
message = "\U2665\Ufe0f\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 19118;
"message_type" = 0;
"prev_session_message_id" = 19117;
"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"): 19118, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19118, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-01-24 22:50:09";
"file_name" = "";
message = "Then enjoy my love\U2665\Ufe0f";
"message_id" = 19119;
"message_type" = 0;
"prev_session_message_id" = 19118;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19119, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-01-24 22:50:09";
"file_name" = "";
message = "Then enjoy my love\U2665\Ufe0f";
"message_id" = 19119;
"message_type" = 0;
"prev_session_message_id" = 19118;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19119, 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_id"): 19119, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:09";
"file_name" = "";
message = "Then enjoy my love\U2665\Ufe0f";
"message_id" = 19119;
"message_type" = 0;
"prev_session_message_id" = 19118;
"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;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19120, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 19121, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:19";
"file_name" = "";
message = ILU;
"message_id" = 19121;
"message_type" = 0;
"prev_session_message_id" = 19120;
"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"): 19121, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:19";
"file_name" = "";
message = ILU;
"message_id" = 19121;
"message_type" = 0;
"prev_session_message_id" = 19120;
"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"): 19121, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:19";
"file_name" = "";
message = ILU;
"message_id" = 19121;
"message_type" = 0;
"prev_session_message_id" = 19120;
"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("message_id"): 19121, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, 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-01-24 22:50:39";
"file_name" = "";
message = "Good night \Ud83e\Udee6";
"message_id" = 19124;
"message_type" = 0;
"prev_session_message_id" = 19123;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19124, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:39";
"file_name" = "";
message = "Good night \Ud83e\Udee6";
"message_id" = 19124;
"message_type" = 0;
"prev_session_message_id" = 19123;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19124, AnyHashable("session_id"): ILUIWU]
datesent = "2026-01-24 22:50:39";
"file_name" = "";
message = "Good night \Ud83e\Udee6";
"message_id" = 19124;
"message_type" = 0;
"prev_session_message_id" = 19123;
"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"): 19124, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 19126, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:55";
"file_name" = "";
message = "Ha ha\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 19126;
"message_type" = 0;
"prev_session_message_id" = 19125;
"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"): 19126, AnyHashable("message_data"): {
datesent = "2026-01-24 22:50:55";
"file_name" = "";
message = "Ha ha\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 19126;
"message_type" = 0;
"prev_session_message_id" = 19125;
"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-01-24 22:50:55";
"file_name" = "";
message = "Ha ha\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 19126;
"message_type" = 0;
"prev_session_message_id" = 19125;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19126]
"content-available" = 1;
}, AnyHashable("message_id"): 19126, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"LocalDataTask <1688884E-EB1F-4FBD-A2CE-6855E0AC372A>.<26>"
), 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}
-- Response Headers --
Connection: Keep-Alive
Server: Apache/2.4.65 (Debian)
Keep-Alive: timeout=5, max=100
Date: Sat, 24 Jan 2026 23:02:14 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 67
-- Body --
{"ok":true,"event_type":1,"message_id":19132,"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]
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("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19083, AnyHashable("session_id"): ILUIWU][07:32:27] [LOG] Pruned 11413 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("message_id"): 19138, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19139]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19140, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19141]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19142]
"content-available" = 1;
}, AnyHashable("message_id"): 19149]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19148, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 19147]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19146]
"LocalWebSocketTask <E08A02FD-EBA6-4D72-AF43-B66895408A00>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E08A02FD-EBA6-4D72-AF43-B66895408A00>.<1>, NSLocalizedDescription=The network connection was lost.}
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-01-25 13:50:43";
"file_name" = "";
message = "Back home \Ud83d\Ude43";
"message_id" = 19152;
"message_type" = 0;
"prev_session_message_id" = 19151;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19152, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19152, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <184AE323-0BBE-4EDF-BC99-2D9305C1ACB3>.<8>"
), 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&since_id=19158, 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&since_id=19158, _kCFStreamErrorDomainKey=4}
"LocalDataTask <CB496087-6F3E-407A-9F92-55F9900F2FC3>.<22>"
), 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 <8B788495-17C7-46A7-BD11-BC79FF58AA05>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <8B788495-17C7-46A7-BD11-BC79FF58AA05>.<1>, NSLocalizedDescription=cancelled}
"LocalDataTask <0808DC6E-5F05-4DB1-949A-D9F163563FD0>.<1>"
), 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("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19157, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <6293631B-03F8-4278-A41D-FBE89FCEB36D>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6293631B-03F8-4278-A41D-FBE89FCEB36D>.<1>}
"LocalWebSocketTask <C1D94761-D78F-4998-91CC-76D7AA22C78A>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C1D94761-D78F-4998-91CC-76D7AA22C78A>.<1>}
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 19166, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 19165, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 19172]
"content-available" = 1;
}, AnyHashable("message_id"): 19171, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19170]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":19174,"event_type":2}[06:55:03] [LOG] Pruned 940 entries older than 3 hours
[06:55:03] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[06:55:03] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[06:55:03] [GIPHY] SDK not available - using REST API fallback
[06:55:03] [BACKGROUND] Background fetch enabled
[06:55:03] [AUTH] Starting PIN authentication
[06:55:03] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[06:55:03] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[06:55:03] [CLEANUP] No old timer messages to delete
[06:55:03] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[06:55:03] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[06:55:03] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[06:55:03] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=19174)...
[06:55:03] [CLIENT_SIG] WebSocket opened
[06:55:03] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[06:55:03] [CLIENT_SIG] Connected! clientId=xaJXbiql6LbpohT7
[06:55:03] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[06:55:03] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[06:55:03] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1,"removed_from_other_channels":0}
[06:55:03] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[06:55:03] [USER] ✅ User registered successfully
[06:55:03] [PUSH] User registration after token update: success
[06:55:03] [PRELOAD] Fetched 2 messages
[06:55:03] [PRELOAD] ✅ Saved 2 messages to local DB
[06:55:04] [PRELOAD] ⚡ Cached 2 messages for instant display (preserved 0 from push)
[06:55:05] [PUSH] Silent push received
[06:55:05] [PUSH_EMBED] 📩 Received embedded message: id=19176, type=0, sender=Esra
[06:55:05] [PUSH_EMBED] ✅ Saved message 19176 to local DB (sync)
[06:55:05] [PUSH_EMBED] Created new cache with embedded message 19176
[06:55:05] [PUSH_EMBED] Fetching evolution data for message 19176 in background
[06:55:05] [PUSH_EMBED] ✅ Fully processed message 19176
[06:55:05] [PUSH] Embedded message handled instantly from silent push
[06:55:05] [PUSH_EMBED] Got evolution data for message 19176, saving to local DB
[06:55:05] [PUSH_EMBED] Saved evolution data for message 19176
[06:55:09] [PIN_AUTH] Correct PIN
[06:55:09] [SECURITY] Restored real session: ILUIWU
[06:55:09] [SECURITY] Restored real session: ILUIWU
[06:55:09] [SECURITY] Saved real session: ILUIWU
[06:55:09] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[06:55:09] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[06:55:09] Documents Directory: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents
[06:55:09] [THEME] Applying current theme
[06:55:09] [CHAT] Applied day theme (mode: day)
[06:55:09] [SECURITY] Saved real session: ILUIWU
[06:55:09] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[06:55:09] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[06:55:09] [NETWORK] Network monitor started
[06:55:09] [NETWORK] Status changed: connected
[06:55:09] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[06:55:09] Did transition
[06:55:09] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[06:55:09] [VIEWER] Screen lock enabled - normal idle behavior
[06:55:09] [QUERY] 🔍 Creating query connection for iOS slave: iosILUIWU
[06:55:09] [VCC] ========== VideoConnectionClass INIT ==========
[06:55:09] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[06:55:09] [DATA AUDIO] ========== setupWebRTC() START ==========
[06:55:09] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[06:55:09] [DATA AUDIO] Creating encoder/decoder factories...
[06:55:09] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[06:55:09] [CODEC] Viewer selected encoder: AV1 (best quality)
[06:55:09] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[06:55:09] [DATA AUDIO] ✅ Factory created
[06:55:09] [DATA AUDIO] RTCAudioSession locked
[06:55:09] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[06:55:09] [DATA AUDIO] RTCAudioSession unlocked
[06:55:09] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[06:55:09] [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"]
[06:55:09] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[06:55:09] [WS] Opening session at ws://crivello.dyndns.org:8081/
[06:55:09] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[06:55:09] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[06:55:09] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[06:55:09] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[06:55:09] Did transition
[06:55:09] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[06:55:09] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[06:55:09] [CHUNK] Merged 971 reactions synchronously
[06:55:09] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[06:55:09] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[06:55:09] [MIGRATION] No messages need sender_name backfill
[06:55:09] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[06:55:09] [GALLERY_DB] Raw datesent for msg 19175: '2026-01-26 01:00:43'
[06:55:09] [GALLERY_DB] Raw datesent for msg 19149: '2026-01-25 11:35:26'
[06:55:09] [GALLERY_DB] Raw datesent for msg 19146: '2026-01-25 11:23:09'
[06:55:09] [GALLERY_DB] ✅ Loaded 501 media messages
[06:55:09] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19176
[06:55:09] [GALLERY] Filtered 501 -> 460 (only with local thumbnails)
[06:55:09] [GALLERY] First 5 after sort (newest first):
[06:55:09] [GALLERY] 0: id=19149, date=2026-01-25 11:35:26, file=6490cf96bed7f640.jpeg
[06:55:09] [GALLERY] 1: id=19146, date=2026-01-25 11:23:09, file=a6c858d97a01507d.jpeg
[06:55:09] [GALLERY] 2: id=19145, date=2026-01-25 10:08:48, file=01fe690830ee5ba7.jpg
[06:55:09] [GALLERY] 3: id=19137, date=2026-01-25 01:00:43, file=51aff08c0a58b833.png
[06:55:09] [GALLERY] 4: id=19014, date=2026-01-24 22:06:20, file=af34e8f2aaf5b05e.jpg
[06:55:09] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[06:55:09] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19126, 19127, 19128, 19129, 19130]
[06:55:09] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[06:55:09] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[06:55:09] [CELL_UPLOAD] → not my message, setting complete
[06:55:09] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:09] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19174 → 19175
[06:55:09] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19175 → 19176
[06:55:09] [SERVER] Starting reconnect polling (5s interval)
[06:55:09] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[06:55:09] [ICONS] Offset applied: -14.6
[06:55:09] [ICONS] New left margin: 11.2, New right margin: 11.3
[06:55:09] [ICONS] Chat center: (31.2, 87.0)
[06:55:09] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[06:55:09] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[06:55:09] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[06:55:09] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[06:55:09] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[06:55:09] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[06:55:09] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[06:55:09] [ICONS] Screen width: 440.0
[06:55:09] DOWNLOADIIING t_6bc3a9f1a52e9ae0.jpg
[06:55:09] DOWNLOADIIING 6bc3a9f1a52e9ae0.png
[06:55:10] [NETWORK] Status changed: connected
[06:55:10] [NETWORK] Status changed: connected
[06:55:10] [SCROLL_BTN] Showing button - 283pt from bottom > half 223pt
[06:55:11] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[06:55:11] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[06:55:11] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[06:55:11] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[06:55:13] [NETWORK] Status changed: connected
[06:55:14] [SERVER] Polling - attempting to reconnect...
[06:55:17] [NETWORK] Status changed: connected
[06:55:18] [CLIENT_SIG] Event received: type=3 messageId=19175
[06:55:18] [WS_EVENT] Received event: type=3, messageId=19175
[06:55:18] [WS_EVENT] Read receipt for message 19175 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[06:55:18] [INCREMENTAL_SYNC] ✅ No new messages
[06:55:18] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[06:55:18] [UNSENT_RETRY] Checking for unsent messages...
[06:55:18] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[06:55:18] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[06:55:18] [UPLOAD_RECOVERY] Session: ILUIWU
[06:55:18] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[06:55:18] [UPLOAD_RECOVERY] Checking recent media messages on server...
[06:55:18] [UPLOAD_RECOVERY] 📋 Recent media: msgId=19145, file=01fe690830ee5ba7.jpg, upload_status=complete
[06:55:18] [UPLOAD_RECOVERY] 📋 Recent media: msgId=19014, file=af34e8f2aaf5b05e.jpg, upload_status=complete
[06:55:18] [UPLOAD_RECOVERY] 📋 Recent media: msgId=18981, file=2852c0089aed517a.jpg, upload_status=complete
[06:55:18] [UPLOAD_RECOVERY] Verifying 3 media files exist on server...
[06:55:18] [PENDING_UPLOAD] Total pending upload messages: 0
[06:55:18] [UNSENT_RETRY] No unsent messages found
[06:55:19] [NETWORK] Status changed: connected
[06:55:19] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[06:55:19] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false
[06:55:19] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=51
[06:55:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-1, 19176, 19175, 19174, 19173]
[06:55:19] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[06:55:19] [CELL_UPLOAD] → not my message, setting complete
[06:55:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:19] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[06:55:19] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[06:55:19] [SERVER] Polling - attempting to reconnect...
[06:55:21] new_session POST error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x1291c8ae0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <2BE3F0BF-1506-4A87-9C1C-FB63CA0B6407>.<16>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <2BE3F0BF-1506-4A87-9C1C-FB63CA0B6407>.<16>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU, _kCFStreamErrorDomainKey=4}
[06:55:21] Token GET → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU&m=get
[06:55:21] [NETWORK] Status changed: connected
[06:55:21] [LOCK] Lock button tapped - locking app immediately
[06:55:21] [LOCK] Received lock app notification
[06:55:21] [USER] ❌ Registration failed: The request timed out.
[06:55:21] [USER] User registration failed (will retry later)
[06:55:21] [NETWORK] Status changed: connected
[06:55:23] [MEDIA_DOWNLOAD] ✅ t_6bc3a9f1a52e9ae0.jpg complete
[06:55:23] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:23] [MEDIA_DOWNLOAD] ✅ Set thumbnail for cell: 6bc3a9f1a52e9ae0.png from downloaded: t_6bc3a9f1a52e9ae0.jpg
[06:55:23] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[06:55:23] [CELL_UPLOAD] → not my message, setting complete
[06:55:23] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:24] [SERVER] Polling - attempting to reconnect...
[06:55:25] [NETWORK] Status changed: connected
[06:55:26] [PIN_AUTH] Correct PIN
[06:55:26] [SECURITY] Restored real session: ILUIWU
[06:55:26] [SECURITY] Restored real session: ILUIWU
[06:55:26] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[06:55:26] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[06:55:26] [AUTH] UI update complete
[06:55:26] [FAKE MODE] Exiting fake mode, restoring real session
[06:55:26] [SECURITY] Restored real session: ILUIWU
[06:55:26] [SECURITY] Saved real session: ILUIWU
[06:55:26] [FAKE MODE] ✅ Restored real session: ILUIWU
[06:55:26] [DB_SEND] 📥 Loaded msg id=-1 with send_status=1 (sending)
[06:55:26] [FAKE MODE] Loaded 50 messages (limited to page size)
[06:55:26] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[06:55:26] [CELL_UPLOAD] → not my message, setting complete
[06:55:26] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:26] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[06:55:26] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[06:55:26] [CELL_UPLOAD] → not my message, setting complete
[06:55:26] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:27] [NETWORK] Status changed: connected
[06:55:27] [UPLOAD_RECOVERY] ✅ All media files verified on server
[06:55:27] [PUSH] Silent push received
[06:55:27] [PUSH_EMBED] No embedded message_data in notification
[06:55:27] [PUSH] No embedded data, pre-loading messages from server
[06:55:27] [PUSH_PRELOAD] Fetching messages for instant display cache
[06:55:29] [CLIENT_SIG] Event received: type=0 messageId=19177
[06:55:29] [WS_EVENT] Received event: type=0, messageId=19177
[06:55:29] [WS_EVENT] 📨 New message notification (msgId=19177) - triggering incremental refresh, currentMsgCount=50
[06:55:29] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[06:55:29] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19176
[06:55:29] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":19177,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-01-26 05:55:27"}
[06:55:29] [CHAT] receive_message.php JSON: ["ok": 1, "message_type": 0, "file_name": , "message_id": 19177, "session_id": ILUIWU, "datesent_utc": 2026-01-26 05:55:27]
[06:55:29] [DB_UPGRADE] Upgrading message ID: -1 → 19177, preserveOriginalDate=false
[06:55:29] [DB_UPGRADE] ✅ Upgraded -1 → 19177 with send_status=0, 1 row(s) affected
[06:55:29] [SEND_UPGRADE] ✅ Updated chatMessages[49].id: -1 → 19177
[06:55:29] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[49].id: -1 → 19177
[06:55:29] ReloadData 9
[06:55:29] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1,"removed_from_other_channels":0}
[06:55:29] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[06:55:29] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[06:55:29] [CELL_UPLOAD] → not my message, setting complete
[06:55:29] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:29] [USER] ✅ User registered successfully
[06:55:29] [PUSH] User registration after token update: success
[06:55:29] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[06:55:29] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[06:55:29] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=50
[06:55:29] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[06:55:29] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[06:55:29] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[06:55:29] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[06:55:29] [CELL_UPLOAD] → not my message, setting complete
[06:55:29] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[06:55:29] [LOCK] Lock button tapped - locking app immediately
[06:55:29] [LOCK] Received lock app notification
[06:55:29] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[06:55:29] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 19175]
[06:55:29] [PUSH] Parsed message_id: 19175
[06:55:29] [PUSH] Parsed operation_type: 3
[06:55:29] [PUSH] Taking direct action: opType=3, messageId=19175
[06:55:29] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19175
[06:55:29] [SERVER] Polling - attempting to reconnect...
[06:55:30] [LIFECYCLE] App resigning active - cleared crash flag
[06:55:30] [NETWORK] Status changed: connected
[06:55:31] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[06:55:31] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[06:55:31] [LIFECYCLE] App entering background - cleared crash flag
[06:55:31] [CLIENT_SIG] Disconnecting
[06:55:31] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[06:55:31] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[06:55:31] [WS] Canceling WebSocket for query connection to iosILUIWU
[06:55:31] In cleanupPeer
[06:55:31] In cleanupPeer
[06:55:31] [LIFECYCLE] WebRTC audio disabled
[06:55:31] [LIFECYCLE] AVAudioSession deactivated
[06:55:31] [LIFECYCLE] All connections stopped
[06:55:31] [CLIENT_SIG] WebSocket closed with code 1001
[06:55:31] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[06:55:31] [SERVER] Stopped reconnect polling
[06:55:31] Will request stop of video 0
[06:55:31] Will request stop of video 0
[06:55:31] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[06:55:31] [WS] Query connection error - cleaning up all agent connections and views
[06:55: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/}
[06:55:31] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[06:55:31] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[06:55:31] [WS] Query connection failed - cleaning up all agent connections and views
[06:55:31] [PIP] Removing 0 tracks from PiP for connection 0
[06:55:31] [PIP] ✅ All tracks removed for connection 0
[06:55:31] [PIP] Removing 0 tracks from PiP for connection 0
[06:55:31] [PIP] ✅ All tracks removed for connection 0
[06:55:31] [CLEANUP] ========================================
[06:55:31] [CLEANUP] Cleaning up all agent connections and views
[06:55:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[06:55:31] [CLEANUP] Stopped and removed 0 video connections
[06:55:31] [CLEANUP] Removed 0 video views
[06:55:31] [CLEANUP] Removed 0 feed scroll views
[06:55:31] [CLEANUP] Removed 0 status labels
[06:55:31] [CLEANUP] Reset agent query state
[06:55:31] [CLEANUP] Updated page indicator
[06:55:31] [CLEANUP] Rebuilt video layout
[06:55:31] [CLEANUP] ✅ All agent connections and views cleaned up
[06:55:31] [CLEANUP] ========================================
[06:55:31] [WS] URLSession invalidated successfully
[06:55:31] [CLEANUP] ========================================
[06:55:31] [CLEANUP] Cleaning up all agent connections and views
[06:55:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[06:55:31] [CLEANUP] Stopped and removed 0 video connections
[06:55:31] [CLEANUP] Removed 0 video views
[06:55:31] [CLEANUP] Removed 0 feed scroll views
[06:55:31] [CLEANUP] Removed 0 status labels
[06:55:31] [CLEANUP] Reset agent query state
[06:55:31] [CLEANUP] Updated page indicator
[06:55:31] [CLEANUP] Rebuilt video layout
[06:55:31] [CLEANUP] ✅ All agent connections and views cleaned up
[06:55:31] [CLEANUP] ========================================
[06:55:31] [SERVER] Skipping reconnect polling - app is in background
[07:01:10] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[07:01:10] [WS] Opening session at ws://crivello.dyndns.org:8081/
[07:01:10] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[07:01:10] [EVT] fetch by ids error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x11a5c41b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <F168DAA1-EF20-48E5-9BCD-D2233210C4ED>.<31>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <F168DAA1-EF20-48E5-9BCD-D2233210C4ED>.<31>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=19175&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=19175&mark_read=0, _kCFStreamErrorDomainKey=4}
[07:01:10] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[07:01:10] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[07:01:10] new_session GET error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x11a5c5260 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <8064542B-4B62-4E84-8B9D-F04ABDBC475E>.<21>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <8064542B-4B62-4E84-8B9D-F04ABDBC475E>.<21>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU&m=get, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU&m=get, _kCFStreamErrorDomainKey=4}
[07:01:10] [LIFECYCLE] App entering foreground - restoring connections
[07:01:10] [LIFECYCLE] Away > 2 minutes (339s) - will scroll to bottom
[07:01:10] [UPLOAD_RETRY] No pending uploads to retry
[07:01:10] [NETWORK] Status changed: connected
[07:01:10] [LIFECYCLE] Merged 971 reactions from local DB
[07:01:10] [LIFECYCLE] WebRTC audio re-enabled
[07:01:10] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[07:01:10] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[07:01:10] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[07:01:10] [VIEWER] Reconnecting after background - querying agents
[07:01:10] [UNSENT_RETRY] Checking for unsent messages...
[07:01:10] [PENDING_UPLOAD] Total pending upload messages: 0
[07:01:10] [UNSENT_RETRY] No unsent messages found
[07:01:10] [DOWNLOAD_ERROR] 6bc3a9f1a52e9ae0.png failed: The request timed out. (code=-1001, domain=NSURLErrorDomain)
[07:01:10] [MEDIA_DOWNLOAD] ❌ 6bc3a9f1a52e9ae0.png failed: The request timed out. (code=-1001)
[07:01:10] [READBY_ENRICH] Enriched 0 messages with readBy data
[07:01:10] [FAKE MODE] Enriched 0 messages with readBy data
[07:01:10] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[07:01:10] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:10] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[07:01:10] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:01:10] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:01:10] [CELL_UPLOAD] → not my message, setting complete
[07:01:10] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:10] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[07:01:10] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[07:01:10] [PUSH] handlePollEventsNotification userInfo: [:]
[07:01:10] [PUSH] No message_id in userInfo
[07:01:10] [PUSH] No operation_type in userInfo
[07:01:10] [FAST_REFRESH] Evolution disabled - performing incremental sync
[07:01:10] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[07:01:10] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[07:01:10] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[07:01:10] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[07:01:10] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19177
[07:01:10] [INCREMENTAL_SYNC] ✅ No new messages
[07:01:10] [FAST_REFRESH] Incremental sync complete - 50 messages
[07:01:10] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[07:01:10] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[07:01:10] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[07:01:10] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[07:01:10] new_session POST ok: token len=157
[07:01:10] HELLO → sent (fetched token, role=query)
[07:01:10] [SIG] hello_ok received for query connection - ready to query agents
[07:01:10] [SIG] get_agents request sent for sessionId=ILUIWU
[07:01:10] [SIG] get_agents request sent for sessionId=iosILUIWU
[07:01:10] [SERVER] Stopped reconnect polling
[07:01:10] [SIG] agents_list received: []
[07:01:10] [SIG] agents_list received: []
[07:01:11] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:01:11] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:01:11] [CELL_UPLOAD] → not my message, setting complete
[07:01:11] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:11] [CLIENT_SIG] WebSocket opened
[07:01:11] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[07:01:11] [CLIENT_SIG] Connected! clientId=qQJR-0t4XdJhNwQz
[07:01:11] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[07:01:11] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[07:01:11] [COMBINED_FETCH] Loaded 7939 read receipts, 973 messages with reactions
[07:01:11] [FOREGROUND] Enriched 48 messages with readBy data from server
[07:01:11] [COMBINED_FETCH] Loaded 7939 read receipts, 973 messages with reactions
[07:01:11] [FAST_REFRESH] Enriched 50 messages with readBy data
[07:01:11] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[07:01:11] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:01:11] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:01:11] [CELL_UPLOAD] → not my message, setting complete
[07:01:11] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:12] [PIN_AUTH] Correct PIN
[07:01:12] [SECURITY] Restored real session: ILUIWU
[07:01:12] [SECURITY] Restored real session: ILUIWU
[07:01:12] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[07:01:12] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[07:01:12] [AUTH] UI update complete
[07:01:12] [FAKE MODE] Exiting fake mode, restoring real session
[07:01:12] [SECURITY] Restored real session: ILUIWU
[07:01:12] [SECURITY] Saved real session: ILUIWU
[07:01:12] [FAKE MODE] ✅ Restored real session: ILUIWU
[07:01:12] [FAKE MODE] Loaded 50 messages (limited to page size)
[07:01:12] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1,"removed_from_other_channels":0}
[07:01:12] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[07:01:12] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:01:12] [CELL_UPLOAD] → not my message, setting complete
[07:01:12] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:12] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:01:12] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:01:12] [CELL_UPLOAD] → not my message, setting complete
[07:01:12] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:13] [USER] ✅ User registered successfully
[07:01:13] [PUSH] User registration after token update: success
[07:01:13] [COMBINED_FETCH] Loaded 7939 read receipts, 973 messages with reactions
[07:01:13] [FAKE MODE] Enriched 50 messages with readBy data
[07:01:13] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:01:13] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:01:13] [CELL_UPLOAD] → not my message, setting complete
[07:01:13] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:20] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[07:01:20] [WS] Query connection error - cleaning up all agent connections and views
[07:01:20] [CLEANUP] ========================================
[07:01:20] [CLEANUP] Cleaning up all agent connections and views
[07:01:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[07:01:20] [CLEANUP] Stopped and removed 0 video connections
[07:01:20] [CLEANUP] Removed 0 video views
[07:01:20] [CLEANUP] Removed 0 feed scroll views
[07:01:20] [CLEANUP] Removed 0 status labels
[07:01:20] [CLEANUP] Reset agent query state
[07:01:20] [CLEANUP] Updated page indicator
[07:01:20] [CLEANUP] Rebuilt video layout
[07:01:20] [CLEANUP] ✅ All agent connections and views cleaned up
[07:01:20] [CLEANUP] ========================================
[07:01:20] [SERVER] Starting reconnect polling (5s interval)
[07:01:25] [TAP_REPLAY] 🔄 replayEvolutionAnimation called for messageId=19176
[07:01:25] [TAP_REPLAY] 📦 Found message: text.count=19, evolutionData.isEmpty=true
[07:01:25] [TAP_REPLAY] 📡 No local evolution data - fetching from server
[07:01:25] [TAP_REPLAY] 🔍 Server response keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[07:01:25] [TAP_REPLAY] ✅ Successfully fetched 17 events from server - calling playEvolutionInline
[07:01:25] [EVOLUTION] 🎬 playEvolutionInline called for message 19176 with 17 events
[07:01:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:25] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:25] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText=' ', text='Good morning babyy💋'
[07:01:25] [UPDATE_CELL] ✅ Updating ChatCell label to: ' '
[07:01:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:25] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:25] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='G', text='Good morning babyy💋'
[07:01:25] [UPDATE_CELL] ✅ Updating ChatCell label to: 'G'
[07:01:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:25] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:25] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Go', text='Good morning babyy💋'
[07:01:25] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Go'
[07:01:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:25] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:25] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Goo', text='Good morning babyy💋'
[07:01:25] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Goo'
[07:01:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:25] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:25] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good', text='Good morning babyy💋'
[07:01:25] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good'
[07:01:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:25] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:25] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good ', text='Good morning babyy💋'
[07:01:25] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good '
[07:01:25] [SERVER] Polling - attempting to reconnect...
[07:01:25] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:25] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:25] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:25] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good m', text='Good morning babyy💋'
[07:01:25] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good m'
[07:01:26] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:26] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:26] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:26] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good mo', text='Good morning babyy💋'
[07:01:26] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good mo'
[07:01:26] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:26] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:26] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:26] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning', text='Good morning babyy💋'
[07:01:26] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning'
[07:01:27] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:27] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:27] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:27] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good mo', text='Good morning babyy💋'
[07:01:27] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good mo'
[07:01:27] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:27] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:27] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:27] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning', text='Good morning babyy💋'
[07:01:27] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning'
[07:01:27] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:27] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:27] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:27] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning ', text='Good morning babyy💋'
[07:01:27] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning '
[07:01:28] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:28] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:28] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:28] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning b', text='Good morning babyy💋'
[07:01:28] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning b'
[07:01:28] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:28] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:28] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:28] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning ba', text='Good morning babyy💋'
[07:01:28] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning ba'
[07:01:28] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:28] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:28] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:28] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning bab', text='Good morning babyy💋'
[07:01:28] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning bab'
[07:01:29] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:29] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:29] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:29] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning baby', text='Good morning babyy💋'
[07:01:29] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning baby'
[07:01:29] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:29] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:29] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:29] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning babyy', text='Good morning babyy💋'
[07:01:29] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning babyy'
[07:01:30] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:30] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:30] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[07:01:30] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Good morning babyy💋', text='Good morning babyy💋'
[07:01:30] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning babyy💋'
[07:01:30] [UPDATE_CELL] 🔍 updateMessageCell called for message 19176
[07:01:30] [UPDATE_CELL] Initial targetRowIndex=51
[07:01:30] [UPDATE_CELL] Rebuilt chatRows, count=53
[07:01:30] [UPDATE_CELL] After rebuild targetRowIndex=51
[07:01:30] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=false, evolutionText='Good morning babyy💋', text='Good morning babyy💋'
[07:01:30] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Good morning babyy💋'
[07:01:30] [EVOLUTION] ✅ Animation complete for message 19176 - marking as read now
[07:01:30] [NETWORK] Status changed: connected
[07:01:30] [SERVER] Polling - attempting to reconnect...
[07:01:32] [DOUBLE_TAP] Adding heart reaction to message 19176
[07:01:32] [DOUBLE_TAP] Action: add (alreadyReactedWithHeart: false)
[07:01:33] [DOUBLE_TAP] Heart reaction added successfully (status: ok)
[07:01:33] DOWNLOADIIING 6bc3a9f1a52e9ae0.png
[07:01:33] [MEDIA_DOWNLOAD] ✅ 6bc3a9f1a52e9ae0.png complete
[07:01:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:01:33] [MEDIA_DOWNLOAD] ✅ Set thumbnail for cell: 6bc3a9f1a52e9ae0.png from downloaded: 6bc3a9f1a52e9ae0.png
[07:01:33] [NETWORK] Status changed: connected
[07:01:33] [NETWORK] Status changed: connected
[07:01:34] [LOCK] Lock button tapped - locking app immediately
[07:01:34] [LOCK] Received lock app notification
[07:01:35] [LIFECYCLE] App resigning active - cleared crash flag
[07:01:35] [SERVER] Polling - attempting to reconnect...
[07:01:36] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[07:01:36] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[07:01:36] [LIFECYCLE] App entering background - cleared crash flag
[07:01:36] [CLIENT_SIG] Disconnecting
[07:01:36] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[07:01:36] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[07:01:36] [WS] Canceling WebSocket for query connection to iosILUIWU
[07:01:36] In cleanupPeer
[07:01:36] In cleanupPeer
[07:01:36] [LIFECYCLE] WebRTC audio disabled
[07:01:36] [LIFECYCLE] AVAudioSession deactivated
[07:01:36] [LIFECYCLE] All connections stopped
[07:01:36] [CLIENT_SIG] WebSocket closed with code 1001
[07:01:36] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[07:01:36] [SERVER] Stopped reconnect polling
[07:01:36] Will request stop of video 0
[07:01:36] [WS] URLSession invalidated successfully
[07:01:36] Will request stop of video 0
[07:01:36] [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/}
[07:01:36] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[07:27:08] [CRASH] No crash detected
[07:27:08] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[07:27:08] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[07:27:08] [GIPHY] SDK not available - using REST API fallback
[07:27:08] [BACKGROUND] Background fetch enabled
[07:27:08] [AUTH] Starting PIN authentication
[07:27:08] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[07:27:08] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[07:27:08] [CLEANUP] No old timer messages to delete
[07:27:08] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[07:27:08] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1,"removed_from_other_channels":0}
[07:27:08] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[07:27:08] [USER] ✅ User registered successfully
[07:27:08] [PUSH] User registration after token update: success
[07:27:08] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[07:27:08] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[07:27:08] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=19177)...
[07:27:08] [CLIENT_SIG] WebSocket opened
[07:27:08] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[07:27:08] [CLIENT_SIG] Connected! clientId=SdhlGbI2VtdIgGo5
[07:27:08] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[07:27:08] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[07:27:08] [PRELOAD] No messages or parse error
[07:27:10] [PIN_AUTH] Correct PIN
[07:27:10] [SECURITY] Restored real session: ILUIWU
[07:27:10] [SECURITY] Restored real session: ILUIWU
[07:27:10] [SECURITY] Saved real session: ILUIWU
[07:27:10] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[07:27:10] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[07:27:10] Documents Directory: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents
[07:27:10] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[07:27:10] [THEME] Applying current theme
[07:27:10] [CHAT] Applied day theme (mode: day)
[07:27:10] [SECURITY] Saved real session: ILUIWU
[07:27:10] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[07:27:10] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[07:27:10] [NETWORK] Network monitor started
[07:27:10] [NETWORK] Status changed: connected
[07:27:10] Did transition
[07:27:10] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[07:27:10] [VIEWER] Screen lock enabled - normal idle behavior
[07:27:10] [QUERY] 🔍 Creating query connection for iOS slave: iosILUIWU
[07:27:10] [VCC] ========== VideoConnectionClass INIT ==========
[07:27:10] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[07:27:10] [DATA AUDIO] ========== setupWebRTC() START ==========
[07:27:10] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[07:27:10] [DATA AUDIO] Creating encoder/decoder factories...
[07:27:10] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[07:27:10] [CODEC] Viewer selected encoder: AV1 (best quality)
[07:27:10] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[07:27:10] [DATA AUDIO] ✅ Factory created
[07:27:10] [DATA AUDIO] RTCAudioSession locked
[07:27:10] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[07:27:10] [DATA AUDIO] RTCAudioSession unlocked
[07:27:10] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[07:27:10] [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"]
[07:27:10] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[07:27:10] [WS] Opening session at ws://crivello.dyndns.org:8081/
[07:27:10] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[07:27:10] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[07:27:10] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[07:27:10] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[07:27:10] Did transition
[07:27:10] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[07:27:10] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[07:27:10] [CHUNK] Merged 972 reactions synchronously
[07:27:10] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[07:27:10] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[07:27:10] [MIGRATION] No messages need sender_name backfill
[07:27:10] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[07:27:10] [GALLERY_DB] Raw datesent for msg 19175: '2026-01-26 01:00:43'
[07:27:10] [GALLERY_DB] Raw datesent for msg 19149: '2026-01-25 11:35:26'
[07:27:10] [GALLERY_DB] Raw datesent for msg 19146: '2026-01-25 11:23:09'
[07:27:10] [USER] ✅ User registered successfully
[07:27:10] [USER] User registration successful
[07:27:10] [GALLERY_DB] ✅ Loaded 501 media messages
[07:27:10] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19177
[07:27:10] [INCREMENTAL_SYNC] ✅ No new messages
[07:27:10] [GALLERY] Filtered 501 -> 461 (only with local thumbnails)
[07:27:10] [GALLERY] First 5 after sort (newest first):
[07:27:10] [GALLERY] 0: id=19175, date=2026-01-26 01:00:43, file=6bc3a9f1a52e9ae0.png
[07:27:10] [GALLERY] 1: id=19149, date=2026-01-25 11:35:26, file=6490cf96bed7f640.jpeg
[07:27:10] [GALLERY] 2: id=19146, date=2026-01-25 11:23:09, file=a6c858d97a01507d.jpeg
[07:27:10] [GALLERY] 3: id=19145, date=2026-01-25 10:08:48, file=01fe690830ee5ba7.jpg
[07:27:10] [GALLERY] 4: id=19137, date=2026-01-25 01:00:43, file=51aff08c0a58b833.png
[07:27:10] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[07:27:10] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:27:10] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[07:27:10] [CELL_UPLOAD] configure: msgId=19137, file=51aff08c0a58b833.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:27:10] [CELL_UPLOAD] → not my message, setting complete
[07:27:10] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=51aff08c0a58b833.png, overlayExists=true
[07:27:10] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:27:10] [CELL_UPLOAD] → not my message, setting complete
[07:27:10] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:27:10] [SERVER] Starting reconnect polling (5s interval)
[07:27:10] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[07:27:10] [ICONS] Offset applied: -14.6
[07:27:10] [ICONS] New left margin: 11.2, New right margin: 11.3
[07:27:10] [ICONS] Chat center: (31.2, 87.0)
[07:27:10] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[07:27:10] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[07:27:10] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[07:27:10] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[07:27:10] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[07:27:10] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[07:27:10] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[07:27:10] [ICONS] Screen width: 440.0
[07:27:10] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[07:27:10] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[07:27:10] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[07:27:10] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[07:27:10] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[07:27:10] [UNSENT_RETRY] Checking for unsent messages...
[07:27:10] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[07:27:10] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[07:27:10] [UPLOAD_RECOVERY] Session: ILUIWU
[07:27:10] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[07:27:10] [UPLOAD_RECOVERY] Checking recent media messages on server...
[07:27:10] [UPLOAD_RECOVERY] 📋 Recent media: msgId=19145, file=01fe690830ee5ba7.jpg, upload_status=complete
[07:27:10] [UPLOAD_RECOVERY] 📋 Recent media: msgId=19014, file=af34e8f2aaf5b05e.jpg, upload_status=complete
[07:27:10] [UPLOAD_RECOVERY] 📋 Recent media: msgId=18981, file=2852c0089aed517a.jpg, upload_status=complete
[07:27:10] [UPLOAD_RECOVERY] Verifying 3 media files exist on server...
[07:27:10] [PENDING_UPLOAD] Total pending upload messages: 0
[07:27:10] [UNSENT_RETRY] No unsent messages found
[07:27:10] new_session POST ok: token len=157
[07:27:10] HELLO → sent (fetched token, role=query)
[07:27:10] [UPLOAD_RECOVERY] ✅ All media files verified on server
[07:27:10] [SIG] hello_ok received for query connection - ready to query agents
[07:27:10] [SIG] get_agents request sent for sessionId=ILUIWU
[07:27:10] [SIG] get_agents request sent for sessionId=iosILUIWU
[07:27:10] [SERVER] Stopped reconnect polling
[07:27:10] [SIG] agents_list received: []
[07:27:10] [SIG] agents_list received: []
[07:27:11] [COMBINED_FETCH] Loaded 7939 read receipts, 974 messages with reactions
[07:27:11] [READBY_ENRICH] Enriched 50 messages with readBy data
[07:27:11] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:27:11] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:27:11] [CELL_UPLOAD] → not my message, setting complete
[07:27:11] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:27:11] [MUTE] Status sent to server: muted=0, response code=200
[07:27:11] [MUTE] Status sent to server: muted=0, response code=200
[07:27:12] [PUSH] Silent push received
[07:27:12] [PUSH_EMBED] No embedded message_data in notification
[07:27:12] [PUSH] No embedded data, pre-loading messages from server
[07:27:12] [PUSH_PRELOAD] Fetching messages for instant display cache
[07:27:12] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[07:27:12] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[07:27:12] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[07:27:12] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19176, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
[07:27:12] [PUSH] Parsed message_id: 19176
[07:27:12] [PUSH] Parsed operation_type: 3
[07:27:12] [PUSH] Taking direct action: opType=3, messageId=19176
[07:27:12] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19176
[07:27:12] [CLIENT_SIG] Event received: type=3 messageId=19176
[07:27:12] [WS_EVENT] Received event: type=3, messageId=19176
[07:27:12] [WS_EVENT] Read receipt for message 19176 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[07:27:18] [LIFECYCLE] App resigning active - cleared crash flag
[07:27:19] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[07:27:19] [SECURITY] Saved background timestamp
[07:27:19] [LIFECYCLE] App entering background - cleared crash flag
[07:27:19] [CLIENT_SIG] Disconnecting
[07:27:19] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[07:27:19] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[07:27:19] [WS] Canceling WebSocket for query connection to iosILUIWU
[07:27:19] In cleanupPeer
[07:27:19] In cleanupPeer
[07:27:19] [LIFECYCLE] WebRTC audio disabled
[07:27:19] [LIFECYCLE] AVAudioSession deactivated
[07:27:19] [LIFECYCLE] All connections stopped
[07:27:19] [CLIENT_SIG] WebSocket closed with code 1001
[07:27:19] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[07:27:19] [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/}
[07:27:19] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[07:27:19] [SERVER] Stopped reconnect polling
[07:27:19] Will request stop of video 0
[07:27:19] Will request stop of video 0
[07:27:19] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[07:27:19] [WS] Query connection error - cleaning up all agent connections and views
[07:27:19] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[07:27:19] [WS] Query connection failed - cleaning up all agent connections and views
[07:27:19] [PIP] Removing 0 tracks from PiP for connection 0
[07:27:19] [PIP] ✅ All tracks removed for connection 0
[07:27:19] [PIP] Removing 0 tracks from PiP for connection 0
[07:27:19] [PIP] ✅ All tracks removed for connection 0
[07:27:19] [CLEANUP] ========================================
[07:27:19] [CLEANUP] Cleaning up all agent connections and views
[07:27:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[07:27:19] [CLEANUP] Stopped and removed 0 video connections
[07:27:19] [CLEANUP] Removed 0 video views
[07:27:19] [CLEANUP] Removed 0 feed scroll views
[07:27:19] [CLEANUP] Removed 0 status labels
[07:27:19] [CLEANUP] Reset agent query state
[07:27:19] [CLEANUP] Updated page indicator
[07:27:19] [CLEANUP] Rebuilt video layout
[07:27:19] [CLEANUP] ✅ All agent connections and views cleaned up
[07:27:19] [CLEANUP] ========================================
[07:27:19] [SERVER] Skipping reconnect polling - app is in background
[07:27:19] [WS] URLSession invalidated successfully
[07:27:19] [CLEANUP] ========================================
[07:27:19] [CLEANUP] Cleaning up all agent connections and views
[07:27:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[07:27:19] [CLEANUP] Stopped and removed 0 video connections
[07:27:19] [CLEANUP] Removed 0 video views
[07:27:19] [CLEANUP] Removed 0 feed scroll views
[07:27:19] [CLEANUP] Removed 0 status labels
[07:27:19] [CLEANUP] Reset agent query state
[07:27:19] [CLEANUP] Updated page indicator
[07:27:19] [CLEANUP] Rebuilt video layout
[07:27:19] [CLEANUP] ✅ All agent connections and views cleaned up
[07:27:19] [CLEANUP] ========================================
[07:27:19] [SERVER] Skipping reconnect polling - app is in background
[07:36:54] [SECURITY] Timeout check: elapsed=575.489091873169s, timeout=300.0s
[07:36:54] [SECURITY] sceneWillEnterForeground - timeout exceeded, showing lock screen immediately
[07:36:54] [AUTH] ✅ All guards passed, showing privacy cover
[07:36:54] [LIFECYCLE] App entering foreground - restoring connections
[07:36:54] [LIFECYCLE] Away > 2 minutes (575s) - will scroll to bottom
[07:36:54] [UPLOAD_RETRY] No pending uploads to retry
[07:36:54] [LIFECYCLE] Merged 972 reactions from local DB
[07:36:54] [LIFECYCLE] WebRTC audio re-enabled
[07:36:54] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[07:36:54] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[07:36:54] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[07:36:54] [VIEWER] Reconnecting after background - querying agents
[07:36:54] [UNSENT_RETRY] Checking for unsent messages...
[07:36:54] [PENDING_UPLOAD] Total pending upload messages: 0
[07:36:54] [UNSENT_RETRY] No unsent messages found
[07:36:54] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[07:36:54] [WS] Opening session at ws://crivello.dyndns.org:8081/
[07:36:54] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[07:36:54] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:36:54] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:36:54] [CELL_UPLOAD] → not my message, setting complete
[07:36:54] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:36:54] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[07:36:54] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[07:36:54] [PUSH] handlePollEventsNotification userInfo: [:]
[07:36:54] [PUSH] No message_id in userInfo
[07:36:54] [PUSH] No operation_type in userInfo
[07:36:54] [FAST_REFRESH] Evolution disabled - performing incremental sync
[07:36:54] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[07:36:54] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[07:36:54] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[07:36:54] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[07:36:54] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19177
[07:36:54] [INCREMENTAL_SYNC] ✅ No new messages
[07:36:54] [FAST_REFRESH] Incremental sync complete - 50 messages
[07:36:54] [CLIENT_SIG] WebSocket opened
[07:36:54] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[07:36:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[07:36:54] HELLO → sent (cached token, role=query)
[07:36:54] [CLIENT_SIG] Connected! clientId=l1eWvOQtu_Ct3CQP
[07:36:54] [SIG] hello_ok received for query connection - ready to query agents
[07:36:54] [SIG] get_agents request sent for sessionId=ILUIWU
[07:36:54] [SIG] get_agents request sent for sessionId=iosILUIWU
[07:36:54] [SERVER] Stopped reconnect polling
[07:36:54] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[07:36:54] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[07:36:54] [SIG] agents_list received: []
[07:36:54] [SIG] agents_list received: []
[07:36:54] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:36:54] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:36:54] [CELL_UPLOAD] → not my message, setting complete
[07:36:54] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:36:55] [COMBINED_FETCH] Loaded 7939 read receipts, 974 messages with reactions
[07:36:55] [FOREGROUND] Enriched 0 messages with readBy data from server
[07:36:55] [COMBINED_FETCH] Loaded 7939 read receipts, 974 messages with reactions
[07:36:55] [FAST_REFRESH] Enriched 50 messages with readBy data
[07:36:55] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[07:36:55] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:36:55] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:36:55] [CELL_UPLOAD] → not my message, setting complete
[07:36:55] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:36:56] [PIN_AUTH] Correct PIN
[07:36:56] [SECURITY] Restored real session: ILUIWU
[07:36:56] [SECURITY] Restored real session: ILUIWU
[07:36:56] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[07:36:56] [AUTH] UI update complete
[07:36:56] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[07:36:56] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[07:36:56] [FAKE MODE] Exiting fake mode, restoring real session
[07:36:56] [SECURITY] Restored real session: ILUIWU
[07:36:56] [SECURITY] Saved real session: ILUIWU
[07:36:56] [FAKE MODE] ✅ Restored real session: ILUIWU
[07:36:56] [FAKE MODE] Loaded 50 messages (limited to page size)
[07:36:56] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[07:36:56] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[07:36:56] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:36:56] [CELL_UPLOAD] → not my message, setting complete
[07:36:56] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:36:56] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:36:56] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:36:56] [CELL_UPLOAD] → not my message, setting complete
[07:36:56] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:36:56] [USER] ✅ User registered successfully
[07:36:56] [PUSH] User registration after token update: success
[07:36:57] [COMBINED_FETCH] Loaded 7939 read receipts, 974 messages with reactions
[07:36:57] [FAKE MODE] Enriched 50 messages with readBy data
[07:36:57] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19127, 19128, 19129, 19130, 19131]
[07:36:57] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:36:57] [CELL_UPLOAD] → not my message, setting complete
[07:36:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:36:58] [CAMERA] Switch-over factors: [2, 8]
[07:36:58] [CAMERA] Virtual device max zoom: 123.75
[07:36:58] [CAMERA] 0.5x: virtual device at zoom 1.0 (ultra-wide)
[07:36:58] [CAMERA] 1x: virtual device at zoom 2.0 (wide angle, macro enabled)
[07:36:58] [CAMERA] 2x: virtual device at zoom 4.0
[07:36:58] [CAMERA] 4x: virtual device at zoom 8.0 (telephoto)
[07:36:58] [CAMERA] 8x: virtual device at zoom 16.0
[07:36:58] [CAMERA] Discovered 5 lenses: ["0.5x=1.0", "1x=2.0", "2x=4.0", "4x=8.0", "8x=16.0"]
[07:36:58] [CAMERA] Using device: Front Camera (AVCaptureDeviceTypeBuiltInWideAngleCamera)
[07:36:58] [CAMERA] updateVideoOrientation - no connection or orientation not supported
[07:36:58] [CAMERA] viewDidLayoutSubviews - previewView.bounds: (0.0, 0.0, 440.0, 796.0), camera: FRONT
[07:36:58] [CAMERA] updateVideoOrientation - no connection or orientation not supported
[07:36:58] [CAMERA] viewDidLayoutSubviews - previewView.bounds: (0.0, 0.0, 440.0, 796.0), camera: FRONT
[07:36:58] [VOLUME] Starting volume button monitoring
[07:36:58] [VOLUME] Hidden MPVolumeView installed
[07:36:58] [VOLUME] Observing volume (no audio session activation), initial volume: 0.25
[07:36:58] [VOLUME] Volume observation started
[07:36:58] [CAMERA] updateVideoOrientation - no connection or orientation not supported
[07:36:58] [CAMERA] viewDidLayoutSubviews - previewView.bounds: (0.0, 0.0, 440.0, 796.0), camera: FRONT
[07:36:59] [CAMERA] Configuring focus for Front Camera
[07:36:59] [CAMERA] Focus configured: mode=1, subjectAreaMonitoring=true
[07:36:59] [CAMERA] setupPreviewLayer - previewView.bounds: (0.0, 0.0, 440.0, 796.0), previewLayer.frame: (0.0, 0.0, 440.0, 796.0)
[07:37:00] [CAMERA] Switched to continuous autofocus, lens position: 0.5294118
[07:37:04] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[07:37:04] [WS] Query connection error - cleaning up all agent connections and views
[07:37:04] [CLEANUP] ========================================
[07:37:04] [CLEANUP] Cleaning up all agent connections and views
[07:37:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[07:37:04] [CLEANUP] Stopped and removed 0 video connections
[07:37:04] [CLEANUP] Removed 0 video views
[07:37:04] [CLEANUP] Removed 0 feed scroll views
[07:37:04] [CLEANUP] Removed 0 status labels
[07:37:04] [CLEANUP] Reset agent query state
[07:37:04] [CLEANUP] Updated page indicator
[07:37:04] [CLEANUP] Rebuilt video layout
[07:37:04] [CLEANUP] ✅ All agent connections and views cleaned up
[07:37:04] [CLEANUP] ========================================
[07:37:04] [SERVER] Starting reconnect polling (5s interval)
[07:37:06] [HAPTIC] triggerHapticFeedback called - mode: photo, isRecording: false
[07:37:06] [HAPTIC] Triggering peek haptic for photo
[07:37:06] [VOLUME] Stopping volume button monitoring
[07:37:06] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[07:37:06] [GALLERY_DB] Raw datesent for msg 19175: '2026-01-26 01:00:43'
[07:37:06] [GALLERY_DB] Raw datesent for msg 19149: '2026-01-25 11:35:26'
[07:37:06] [GALLERY_DB] Raw datesent for msg 19146: '2026-01-25 11:23:09'
[07:37:06] [GALLERY_DB] ✅ Loaded 501 media messages
[07:37:06] [GALLERY] Filtered 501 -> 461 (only with local thumbnails)
[07:37:06] [GALLERY] First 5 after sort (newest first):
[07:37:06] [GALLERY] 0: id=19175, date=2026-01-26 01:00:43, file=6bc3a9f1a52e9ae0.png
[07:37:06] [GALLERY] 1: id=19149, date=2026-01-25 11:35:26, file=6490cf96bed7f640.jpeg
[07:37:06] [GALLERY] 2: id=19146, date=2026-01-25 11:23:09, file=a6c858d97a01507d.jpeg
[07:37:06] [GALLERY] 3: id=19145, date=2026-01-25 10:08:48, file=01fe690830ee5ba7.jpg
[07:37:06] [GALLERY] 4: id=19137, date=2026-01-25 01:00:43, file=51aff08c0a58b833.png
[07:37:09] [SERVER] Polling - attempting to reconnect...
[07:37:12] Chosen timer = 0
[07:37:12] [MEDIA_SEND] ========== NEW UPLOAD ==========
[07:37:12] [MEDIA_SEND] onSend called
[07:37:12] [MEDIA_SEND] Source URL: /private/var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/tmp/93C8725F-A89B-405B-91C7-2B68471B3DB6.jpg
[07:37:12] [MEDIA_SEND] Source file exists: true
[07:37:12] [MEDIA_SEND] Original filename: 93C8725F-A89B-405B-91C7-2B68471B3DB6.jpg
[07:37:12] [MEDIA_SEND] Random filename: 5728ffa32c3fe2c6.jpg
[07:37:12] [MEDIA_SEND] File extension: jpg
[07:37:12] [MEDIA_SEND] Local media path: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/5728ffa32c3fe2c6.jpg
[07:37:12] [MEDIA_SEND] Local thumbnail path: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/t_5728ffa32c3fe2c6.jpg
[07:37:12] [MEDIA_SEND] Source file size: 276332 bytes (0.26 MB)
[07:37:12] [MEDIA_SEND] Copying file (<100MB)
[07:37:12] [MEDIA_SEND] File copied successfully
[07:37:12] [MEDIA_SEND] Destination file exists: true
[07:37:12] [MEDIA_SEND] Destination file size: 276332 bytes
[07:37:12] [MEDIA_SEND] Creating thumbnail...
[07:37:12] [MEDIA_SEND] Thumbnail created in 0.02s
[07:37:12] [MEDIA_SEND] Thumbnail dimensions: (225.0, 400.0)
[07:37:12] [MEDIA_SEND] Thumbnail exists: true
[07:37:12] [MEDIA_SEND] Thumbnail file size: 8595 bytes
[07:37:12] [MEDIA_SEND] Sending message to server...
[07:37:12] [MEDIA_SEND] Caption: ''
[07:37:12] [MEDIA_SEND] Timer: 0
[07:37:12] [MEDIA_SEND] Filename: 5728ffa32c3fe2c6.jpg
[07:37:12] [MEDIA_FLOW] ⚠️ Message sent BEFORE upload starts - if app dies now, file won't be uploaded!
[07:37:12] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false
[07:37:12] [MEDIA_SEND] 📤 Creating media message: id=-1, file=5728ffa32c3fe2c6.jpg, isGiphy=false, upload_status=1 (pending)
[07:37:12] [MEDIA_SEND] 💾 Inserted to DB with upload_status=1
[07:37:12] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=51
[07:37:12] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-1, 19177, 19176, 19175, 19174]
[07:37:12] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[07:37:12] [CELL_UPLOAD] configure: msgId=-1, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1
[07:37:12] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[07:37:12] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[07:37:12] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0
[07:37:12] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[07:37:12] [MEDIA_SEND] sendMessage API call completed
[07:37:12] [MEDIA_SEND] Starting THUMBNAIL upload: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[07:37:12] [UPLOAD_ENQUEUE] 📥 File: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[07:37:12] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB
[07:37:12] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[07:37:12] [UPLOAD_QUEUE] Enqueued upload id=663 for t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[07:37:12] [UPLOAD_DEBUG] Item ID: 663
[07:37:12] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_DEBUG] Random filename: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_DEBUG] Session ID: ILUIWU
[07:37:12] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[07:37:12] [UPLOAD_DEBUG] Retry count: 0
[07:37:12] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_5728ffa32c3fe2c6.jpg, status=uploading (2), progress=0.0%
[07:37:12] [UPLOAD_DEBUG] File exists: true
[07:37:12] [GALLERY_DB] Raw datesent for msg -1: '2026-01-26 06:37:12'
[07:37:12] [GALLERY_DB] Raw datesent for msg 19175: '2026-01-26 01:00:43'
[07:37:12] [UPLOAD_DEBUG] File size: 8595 bytes (0.0 MB)
[07:37:12] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[07:37:12] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[07:37:12] [GALLERY_DB] Raw datesent for msg 19149: '2026-01-25 11:35:26'
[07:37:12] [UPLOAD_DEBUG] --- startStandardUpload ---
[07:37:12] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[07:37:12] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[07:37:12] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/tmp/6B671107-0BFC-4F45-AE76-EF14B7AC2D88.upload
[07:37:12] [UPLOAD_DEBUG] File size: 8595 bytes, in-memory threshold: 10485760 bytes
[07:37:12] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[07:37:12] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (9077 bytes)
[07:37:12] [UPLOAD_DEBUG] Creating background upload task...
[07:37:12] [UPLOAD_DEBUG] Task created with identifier: 1
[07:37:12] [UPLOAD_DEBUG] Added to activeUploads dictionary
[07:37:12] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[07:37:12] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=1 | file=t_5728ffa32c3fe2c6.jpg | size=0.0MB | retries=0
[07:37:12] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[07:37:12] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[07:37:12] [UPLOAD_PROGRESS] t_5728ffa32c3fe2c6.jpg: 100% (0.0/0.0 MB) task=1
[07:37:12] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_5728ffa32c3fe2c6.jpg, status=uploading (2), progress=100.0%
[07:37:12] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":19178,"session_id":"ILUIWU","message_type":1,"file_name":"5728ffa32c3fe2c6.jpg","datesent_utc":"2026-01-26 06:37:12"}
[07:37:12] [CHAT] receive_message.php JSON: ["message_type": 1, "session_id": ILUIWU, "datesent_utc": 2026-01-26 06:37:12, "message_id": 19178, "file_name": 5728ffa32c3fe2c6.jpg, "ok": 1]
[07:37:12] [DB_UPGRADE] Upgrading message ID: -1 → 19178, preserveOriginalDate=false
[07:37:12] [UPLOAD_RESPONSE] Started receiving response for task 1
[07:37:12] [UPLOAD_METRICS] Task 1 metrics:
[07:37:12] [UPLOAD_METRICS] Total time: 0.08s
[07:37:12] [UPLOAD_METRICS] Upload time: 0.00s
[07:37:12] [UPLOAD_METRICS] Response time: 0.00s
[07:37:12] [UPLOAD_METRICS] Network protocol: http/1.1
[07:37:12] [UPLOAD_METRICS] Proxy: no
[07:37:12] [UPLOAD_METRICS] Reused connection: no
[07:37:12] [UPLOAD_COMPLETE] ========== Task Completed ==========
[07:37:12] [UPLOAD_COMPLETE] Task ID: 1
[07:37:12] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[07:37:12] [UPLOAD_COMPLETE] Filename: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_COMPLETE] Local path: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_COMPLETE] Retry count: 0
[07:37:12] [UPLOAD_COMPLETE] HTTP Status: 200
[07:37:12] [UPLOAD_COMPLETE] Response headers: [AnyHashable("Content-Length"): 215, AnyHashable("Content-Type"): application/json, AnyHashable("Date"): Mon, 26 Jan 2026 06:37:12 GMT, AnyHashable("Connection"): Keep-Alive, AnyHashable("Keep-Alive"): timeout=5, max=100, AnyHashable("Server"): Apache/2.4.65 (Debian)]
[07:37:12] [UPLOAD_COMPLETE] Response body (215 bytes): {"ok":true,"file_name":"t_5728ffa32c3fe2c6.jpg","orig_name":"t_5728ffa32c3fe2c6.jpg","size":8595,"env":{"file_uploads":"1","upload_max_filesize":"5G","post_max_size":"10G","upload_tmp_dir":"","content_length":9077}}
[07:37:12] [UPLOAD_COMPLETE] ✅ Server confirmed upload OK
[07:37:12] [UPLOAD_COMPLETE] Server filename: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_VERIFY] Verifying file exists: t_5728ffa32c3fe2c6.jpg
[07:37:12] [GALLERY_DB] ✅ Loaded 502 media messages
[07:37:12] [DB_UPGRADE] ✅ Upgraded -1 → 19178 with send_status=0, 1 row(s) affected
[07:37:12] [UPLOAD_VERIFY] ✅ File verified: t_5728ffa32c3fe2c6.jpg (size: 8595)
[07:37:12] [UPLOAD_LIFECYCLE] ✅ COMPLETED | file=t_5728ffa32c3fe2c6.jpg | id=663 | retries=0
[07:37:12] [UPLOAD_COMPLETE] ✅ ========== UPLOAD COMPLETED ==========
[07:37:12] [UPLOAD_COMPLETE] ✅ File: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_COMPLETE] ✅ Queue ID: 663
[07:37:12] [UPLOAD_COMPLETE] ✅ Session: ILUIWU
[07:37:12] [UPLOAD_COMPLETE] ✅ Server filename: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_COMPLETE] ✅ Posting .complete status notification
[07:37:12] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_5728ffa32c3fe2c6.jpg, status=complete (0), progress=0.0%
[07:37:12] [UPLOAD_COMPLETE] ✅ Upload queue DB updated to 'completed' for id=663
[07:37:12] [GALLERY] Filtered 502 -> 462 (only with local thumbnails)
[07:37:12] [GALLERY] First 5 after sort (newest first):
[07:37:12] [GALLERY] 0: id=-1, date=2026-01-26 06:37:12, file=5728ffa32c3fe2c6.jpg
[07:37:12] [GALLERY] 1: id=19175, date=2026-01-26 01:00:43, file=6bc3a9f1a52e9ae0.png
[07:37:12] [GALLERY] 2: id=19149, date=2026-01-25 11:35:26, file=6490cf96bed7f640.jpeg
[07:37:12] [GALLERY] 3: id=19146, date=2026-01-25 11:23:09, file=a6c858d97a01507d.jpeg
[07:37:12] [GALLERY] 4: id=19145, date=2026-01-25 10:08:48, file=01fe690830ee5ba7.jpg
[07:37:12] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:37:12] [CELL_UPLOAD] → not my message, setting complete
[07:37:12] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:37:12] [UPLOAD_STATUS] 📬 Received notification: file=t_5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_STATUS] 💾 Updating DB: file=t_5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_5728ffa32c3fe2c6.jpg not found in local_messages
[07:37:12] [UPLOAD_STATUS] 📬 Received notification: file=t_5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_STATUS] 💾 Updating DB: file=t_5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_5728ffa32c3fe2c6.jpg not found in local_messages
[07:37:12] [CLIENT_SIG] Event received: type=0 messageId=19178
[07:37:12] [WS_EVENT] Received event: type=0, messageId=19178
[07:37:12] [WS_EVENT] 📨 New message notification (msgId=19178) - triggering incremental refresh, currentMsgCount=51
[07:37:12] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[07:37:12] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19178
[07:37:12] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -1 → 19178
[07:37:12] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -1 → 19178
[07:37:12] ReloadData 9
[07:37:12] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[07:37:12] [CELL_UPLOAD] → not my message, setting complete
[07:37:12] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[07:37:12] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1
[07:37:12] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[07:37:12] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[07:37:12] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0
[07:37:12] [UPLOAD_STATUS] 📬 Received notification: file=t_5728ffa32c3fe2c6.jpg, status=0 (complete)
[07:37:12] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_STATUS] 💾 Updating DB: file=t_5728ffa32c3fe2c6.jpg, status=0 (complete)
[07:37:12] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_5728ffa32c3fe2c6.jpg not found in local_messages
[07:37:12] [INCREMENTAL_SYNC] ✅ No new messages
[07:37:12] [MEDIA_SEND] Thumbnail uploaded successfully in 0.21s
[07:37:12] [MEDIA_SEND] Thumbnail server filename: t_5728ffa32c3fe2c6.jpg
[07:37:12] [MEDIA_SEND] Starting MAIN FILE upload: 5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[07:37:12] [UPLOAD_ENQUEUE] 📥 File: 5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[07:37:12] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.3 MB
[07:37:12] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[07:37:12] [UPLOAD_QUEUE] Enqueued upload id=664 for 5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[07:37:12] [UPLOAD_DEBUG] Item ID: 664
[07:37:12] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_DEBUG] Random filename: 5728ffa32c3fe2c6.jpg
[07:37:12] [UPLOAD_DEBUG] Session ID: ILUIWU
[07:37:12] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[07:37:12] [UPLOAD_DEBUG] Retry count: 0
[07:37:12] [UPLOAD_NOTIFY] 📣 Posting notification: file=5728ffa32c3fe2c6.jpg, status=uploading (2), progress=0.0%
[07:37:12] [UPLOAD_STATUS] 📬 Received notification: file=5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[0]: 1 → 2
[07:37:12] [UPLOAD_STATUS] 📝 Updated chatMessages[0]: status=2
[07:37:12] [UPLOAD_STATUS] 💾 Updating DB: file=5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_DEBUG] File exists: true
[07:37:12] [UPLOAD_DEBUG] File size: 276332 bytes (0.3 MB)
[07:37:12] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[07:37:12] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[07:37:12] [UPLOAD_DEBUG] --- startStandardUpload ---
[07:37:12] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[07:37:12] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[07:37:12] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/tmp/1C88D7EC-8C7A-4712-94C0-3737BEC24348.upload
[07:37:12] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=5728ffa32c3fe2c6.jpg
[07:37:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[07:37:12] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[07:37:12] [UPLOAD_DEBUG] File size: 276332 bytes, in-memory threshold: 10485760 bytes
[07:37:12] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[07:37:12] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (276808 bytes)
[07:37:12] [UPLOAD_DEBUG] Creating background upload task...
[07:37:12] [UPLOAD_DEBUG] Task created with identifier: 2
[07:37:12] [UPLOAD_DEBUG] Added to activeUploads dictionary
[07:37:12] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[07:37:12] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=2 | file=5728ffa32c3fe2c6.jpg | size=0.3MB | retries=0
[07:37:12] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[07:37:12] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[07:37:12] [UPLOAD_PROGRESS] 5728ffa32c3fe2c6.jpg: 100% (0.3/0.3 MB) task=2
[07:37:12] [UPLOAD_NOTIFY] 📣 Posting notification: file=5728ffa32c3fe2c6.jpg, status=uploading (2), progress=100.0%
[07:37:12] [UPLOAD_STATUS] 📬 Received notification: file=5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[0]: 2 → 2
[07:37:12] [UPLOAD_STATUS] 📝 Updated chatMessages[0]: status=2
[07:37:12] [UPLOAD_STATUS] 💾 Updating DB: file=5728ffa32c3fe2c6.jpg, status=2 (uploading)
[07:37:12] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=5728ffa32c3fe2c6.jpg
[07:37:12] [MEDIA_SEND] Main upload progress: 100%
[07:37:12] [CELL_UPLOAD] setUploadStatus(uploading, progress=1.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[07:37:12] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[07:37:12] [PROGRESS] Updated cell for 5728ffa32c3fe2c6.jpg: 100%
[07:37:14] [SERVER] Polling - attempting to reconnect...
[07:37:15] [UPLOAD_RESPONSE] Started receiving response for task 2
[07:37:15] [UPLOAD_METRICS] Task 2 metrics:
[07:37:15] [UPLOAD_METRICS] Total time: 2.09s
[07:37:15] [UPLOAD_METRICS] Upload time: 0.10s
[07:37:15] [UPLOAD_METRICS] Response time: 0.00s
[07:37:15] [UPLOAD_METRICS] Network protocol: http/1.1
[07:37:15] [UPLOAD_METRICS] Proxy: no
[07:37:15] [UPLOAD_METRICS] Reused connection: yes
[07:37:15] [UPLOAD_COMPLETE] ========== Task Completed ==========
[07:37:15] [UPLOAD_COMPLETE] Task ID: 2
[07:37:15] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[07:37:15] [UPLOAD_COMPLETE] Filename: 5728ffa32c3fe2c6.jpg
[07:37:15] [UPLOAD_COMPLETE] Local path: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents/MediaCache/5728ffa32c3fe2c6.jpg
[07:37:15] [UPLOAD_COMPLETE] Retry count: 0
[07:37:15] [UPLOAD_COMPLETE] HTTP Status: 200
[07:37:15] [UPLOAD_COMPLETE] Response headers: [AnyHashable("Content-Type"): application/json, AnyHashable("Server"): Apache/2.4.65 (Debian), AnyHashable("Keep-Alive"): timeout=5, max=99, AnyHashable("Content-Length"): 215, AnyHashable("Connection"): Keep-Alive, AnyHashable("Date"): Mon, 26 Jan 2026 06:37:12 GMT]
[07:37:15] [UPLOAD_COMPLETE] Response body (215 bytes): {"ok":true,"file_name":"5728ffa32c3fe2c6.jpg","orig_name":"5728ffa32c3fe2c6.jpg","size":276332,"env":{"file_uploads":"1","upload_max_filesize":"5G","post_max_size":"10G","upload_tmp_dir":"","content_length":276808}}
[07:37:15] [UPLOAD_COMPLETE] ✅ Server confirmed upload OK
[07:37:15] [UPLOAD_COMPLETE] Server filename: 5728ffa32c3fe2c6.jpg
[07:37:15] [UPLOAD_VERIFY] Verifying file exists: 5728ffa32c3fe2c6.jpg
[07:37:15] [UPLOAD_VERIFY] ✅ File verified: 5728ffa32c3fe2c6.jpg (size: 276332)
[07:37:15] [UPLOAD_LIFECYCLE] ✅ COMPLETED | file=5728ffa32c3fe2c6.jpg | id=664 | retries=0
[07:37:15] [UPLOAD_COMPLETE] ✅ ========== UPLOAD COMPLETED ==========
[07:37:15] [UPLOAD_COMPLETE] ✅ File: 5728ffa32c3fe2c6.jpg
[07:37:15] [UPLOAD_COMPLETE] ✅ Queue ID: 664
[07:37:15] [UPLOAD_COMPLETE] ✅ Session: ILUIWU
[07:37:15] [UPLOAD_COMPLETE] ✅ Server filename: 5728ffa32c3fe2c6.jpg
[07:37:15] [UPLOAD_COMPLETE] ✅ Posting .complete status notification
[07:37:15] [UPLOAD_NOTIFY] 📣 Posting notification: file=5728ffa32c3fe2c6.jpg, status=complete (0), progress=0.0%
[07:37:15] [UPLOAD_STATUS] 📬 Received notification: file=5728ffa32c3fe2c6.jpg, status=0 (complete)
[07:37:15] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[0]: 2 → 0
[07:37:15] [UPLOAD_STATUS] 📝 Updated chatMessages[0]: status=0
[07:37:15] [UPLOAD_STATUS] 💾 Updating DB: file=5728ffa32c3fe2c6.jpg, status=0 (complete)
[07:37:15] [UPLOAD_COMPLETE] ✅ Upload queue DB updated to 'completed' for id=664
[07:37:15] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=5728ffa32c3fe2c6.jpg
[07:37:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[07:37:15] [MEDIA_SEND] MAIN FILE UPLOADED SUCCESSFULLY
[07:37:15] [MEDIA_SEND] Server filename: 5728ffa32c3fe2c6.jpg
[07:37:15] [MEDIA_SEND] Main upload duration: 2.12s
[07:37:15] [MEDIA_SEND] Total upload duration: 2.33s
[07:37:15] [MEDIA_SEND] ========== UPLOAD COMPLETE ==========
[07:37:15] [PROGRESS] Updated cell for 5728ffa32c3fe2c6.jpg: 100%
[07:37:17] [LOCK] Lock button tapped - locking app immediately
[07:37:17] [LOCK] Received lock app notification
[07:37:18] [LIFECYCLE] App resigning active - cleared crash flag
[07:37:19] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[07:37:19] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[07:37:19] [LIFECYCLE] App entering background - cleared crash flag
[07:37:19] [CLIENT_SIG] Disconnecting
[07:37:19] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[07:37:19] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[07:37:19] [WS] Canceling WebSocket for query connection to iosILUIWU
[07:37:19] In cleanupPeer
[07:37:19] In cleanupPeer
[07:37:19] [LIFECYCLE] WebRTC audio disabled
[07:37:19] [LIFECYCLE] AVAudioSession deactivated
[07:37:19] [LIFECYCLE] All connections stopped
[07:37:19] [CLIENT_SIG] WebSocket closed with code 1001
[07:37:19] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[07:37:19] [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/}
[07:37:19] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[07:37:19] [SERVER] Stopped reconnect polling
[07:37:19] [WS] URLSession invalidated successfully
[07:37:19] Will request stop of video 0
[07:37:19] Will request stop of video 0
[07:37:19] [PIP] Removing 0 tracks from PiP for connection 0
[07:37:19] [PIP] ✅ All tracks removed for connection 0
[07:37:19] [PIP] Removing 0 tracks from PiP for connection 0
[07:37:19] [PIP] ✅ All tracks removed for connection 0
[08:00:32] [NETWORK] Status changed: connected
[08:00:32] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:00:32] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[08:00:32] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:00:32] [LIFECYCLE] App entering foreground - restoring connections
[08:00:32] [LIFECYCLE] Away > 2 minutes (1393s) - will scroll to bottom
[08:00:32] [UPLOAD_RETRY] No pending uploads to retry
[08:00:32] [LIFECYCLE] Merged 972 reactions from local DB
[08:00:32] [LIFECYCLE] WebRTC audio re-enabled
[08:00:32] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[08:00:32] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[08:00:32] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:00:32] [VIEWER] Reconnecting after background - querying agents
[08:00:32] [UNSENT_RETRY] Checking for unsent messages...
[08:00:32] [PENDING_UPLOAD] Total pending upload messages: 0
[08:00:32] [UNSENT_RETRY] No unsent messages found
[08:00:32] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[19178, 19177, 19176, 19175, 19174]
[08:00:32] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:32] [CELL_UPLOAD] → not my message, setting complete
[08:00:32] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:00:32] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:32] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:00:32] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:00:32] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[08:00:32] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[08:00:32] [PUSH] handlePollEventsNotification userInfo: [:]
[08:00:32] [PUSH] No message_id in userInfo
[08:00:32] [PUSH] No operation_type in userInfo
[08:00:32] [FAST_REFRESH] Evolution disabled - performing incremental sync
[08:00:32] [FAST_REFRESH] Already have 51 messages - skipping local DB load
[08:00:32] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[08:00:32] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[08:00:32] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[08:00:32] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19178
[08:00:32] [CLIENT_SIG] WebSocket opened
[08:00:32] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[08:00:32] [CLIENT_SIG] Connected! clientId=JpvGJlZQm6xW0XQd
[08:00:32] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[08:00:32] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:00:32] [INCREMENTAL_SYNC] ✅ No new messages
[08:00:32] [FAST_REFRESH] Incremental sync complete - 51 messages
[08:00:32] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[19178, 19177, 19176, 19175, 19174]
[08:00:32] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:32] [CELL_UPLOAD] → not my message, setting complete
[08:00:32] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:00:32] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:32] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:00:32] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:00:33] [COMBINED_FETCH] Loaded 7940 read receipts, 974 messages with reactions
[08:00:33] [FOREGROUND] Enriched 0 messages with readBy data from server
[08:00:33] [COMBINED_FETCH] Loaded 7940 read receipts, 974 messages with reactions
[08:00:33] [FAST_REFRESH] Enriched 51 messages with readBy data
[08:00:33] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[08:00:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[19178, 19177, 19176, 19175, 19174]
[08:00:33] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:33] [CELL_UPLOAD] → not my message, setting complete
[08:00:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:00:33] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:33] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:00:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:00:33] [PIN_AUTH] Correct PIN
[08:00:33] [SECURITY] Restored real session: ILUIWU
[08:00:33] [SECURITY] Restored real session: ILUIWU
[08:00:33] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[08:00:33] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[08:00:33] [AUTH] UI update complete
[08:00:33] [FAKE MODE] Exiting fake mode, restoring real session
[08:00:33] [SECURITY] Restored real session: ILUIWU
[08:00:33] [SECURITY] Saved real session: ILUIWU
[08:00:33] [FAKE MODE] ✅ Restored real session: ILUIWU
[08:00:33] [FAKE MODE] Loaded 50 messages (limited to page size)
[08:00:34] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[08:00:34] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[08:00:34] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:34] [CELL_UPLOAD] → not my message, setting complete
[08:00:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:00:34] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:00:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:00:34] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19128, 19129, 19130, 19131, 19133]
[08:00:34] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:34] [CELL_UPLOAD] → not my message, setting complete
[08:00:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:00:34] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:00:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:00:34] [USER] ✅ User registered successfully
[08:00:34] [PUSH] User registration after token update: success
[08:00:34] [COMBINED_FETCH] Loaded 7940 read receipts, 974 messages with reactions
[08:00:34] [FAKE MODE] Enriched 50 messages with readBy data
[08:00:34] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19128, 19129, 19130, 19131, 19133]
[08:00:34] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:34] [CELL_UPLOAD] → not my message, setting complete
[08:00:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:00:34] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:00:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:00:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:00:38] [LIFECYCLE] App resigning active - cleared crash flag
[08:00:39] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[08:00:39] [SECURITY] Saved background timestamp
[08:00:39] [LIFECYCLE] App entering background - cleared crash flag
[08:00:39] [CLIENT_SIG] Disconnecting
[08:00:39] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[08:00:39] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=-1
[08:00:39] In cleanupPeer
[08:00:39] In cleanupPeer
[08:00:39] [LIFECYCLE] WebRTC audio disabled
[08:00:39] [LIFECYCLE] AVAudioSession deactivated
[08:00:39] [LIFECYCLE] All connections stopped
[08:00:39] [CLIENT_SIG] WebSocket closed with code 1001
[08:00:39] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[08:00: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/}
[08:00:39] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[08:00:39] [SERVER] Stopped reconnect polling
[08:00:39] Will request stop of video 0
[08:00:39] Will request stop of video 0
[08:00:39] [PIP] Removing 0 tracks from PiP for connection 0
[08:00:39] [PIP] ✅ All tracks removed for connection 0
[08:00:39] [PIP] Removing 0 tracks from PiP for connection 0
[08:00:39] [PIP] ✅ All tracks removed for connection 0
[08:22:33] [SECURITY] Timeout check: elapsed=1313.8464848995209s, timeout=300.0s
[08:22:33] [SECURITY] sceneWillEnterForeground - timeout exceeded, showing lock screen immediately
[08:22:33] [AUTH] ✅ All guards passed, showing privacy cover
[08:22:33] [LIFECYCLE] App entering foreground - restoring connections
[08:22:33] [LIFECYCLE] Away > 2 minutes (1313s) - will scroll to bottom
[08:22:33] [UPLOAD_RETRY] No pending uploads to retry
[08:22:33] [LIFECYCLE] Merged 972 reactions from local DB
[08:22:33] [LIFECYCLE] WebRTC audio re-enabled
[08:22:33] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[08:22:33] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[08:22:33] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:22:33] [VIEWER] Reconnecting after background - querying agents
[08:22:33] [UNSENT_RETRY] Checking for unsent messages...
[08:22:33] [PENDING_UPLOAD] Total pending upload messages: 0
[08:22:33] [UNSENT_RETRY] No unsent messages found
[08:22:33] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:22:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19128, 19129, 19130, 19131, 19133]
[08:22:33] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:33] [CELL_UPLOAD] → not my message, setting complete
[08:22:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:33] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:33] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:33] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[08:22:33] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[08:22:33] [PUSH] handlePollEventsNotification userInfo: [:]
[08:22:33] [PUSH] No message_id in userInfo
[08:22:33] [PUSH] No operation_type in userInfo
[08:22:33] [FAST_REFRESH] Evolution disabled - performing incremental sync
[08:22:33] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[08:22:33] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[08:22:33] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[08:22:33] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[08:22:33] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19178
[08:22:33] [INCREMENTAL_SYNC] ✅ No new messages
[08:22:33] [FAST_REFRESH] Incremental sync complete - 50 messages
[08:22:33] [CLIENT_SIG] WebSocket opened
[08:22:33] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[08:22:33] [CLIENT_SIG] Connected! clientId=fnCsIb2xwJzrFvBu
[08:22:33] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[08:22:33] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:22:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19128, 19129, 19130, 19131, 19133]
[08:22:33] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:33] [CELL_UPLOAD] → not my message, setting complete
[08:22:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:33] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:33] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:33] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:33] [COMBINED_FETCH] Loaded 7940 read receipts, 974 messages with reactions
[08:22:33] [FOREGROUND] Enriched 0 messages with readBy data from server
[08:22:34] [COMBINED_FETCH] Loaded 7940 read receipts, 974 messages with reactions
[08:22:34] [FAST_REFRESH] Enriched 50 messages with readBy data
[08:22:34] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[08:22:34] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19128, 19129, 19130, 19131, 19133]
[08:22:34] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:34] [CELL_UPLOAD] → not my message, setting complete
[08:22:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:34] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:34] [PIN_AUTH] Correct PIN
[08:22:34] [SECURITY] Restored real session: ILUIWU
[08:22:34] [SECURITY] Restored real session: ILUIWU
[08:22:34] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[08:22:34] [AUTH] UI update complete
[08:22:34] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[08:22:34] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:22:34] [FAKE MODE] Exiting fake mode, restoring real session
[08:22:34] [SECURITY] Restored real session: ILUIWU
[08:22:34] [SECURITY] Saved real session: ILUIWU
[08:22:34] [FAKE MODE] ✅ Restored real session: ILUIWU
[08:22:34] [FAKE MODE] Loaded 50 messages (limited to page size)
[08:22:34] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:34] [CELL_UPLOAD] → not my message, setting complete
[08:22:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:34] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:34] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[08:22:34] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[08:22:34] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19128, 19129, 19130, 19131, 19133]
[08:22:34] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:34] [CELL_UPLOAD] → not my message, setting complete
[08:22:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:34] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:34] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:35] [USER] ✅ User registered successfully
[08:22:35] [PUSH] User registration after token update: success
[08:22:35] [COMBINED_FETCH] Loaded 7940 read receipts, 974 messages with reactions
[08:22:35] [FAKE MODE] Enriched 50 messages with readBy data
[08:22:35] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19128, 19129, 19130, 19131, 19133]
[08:22:35] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:35] [CELL_UPLOAD] → not my message, setting complete
[08:22:35] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:35] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:35] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:35] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:56] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[08:22:56] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false
[08:22:56] [SEND_MESSAGE] ✅ Added optimistic message id=-2 to arrays, newMsgCount=51
[08:22:56] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-2, 19178, 19177, 19176, 19175]
[08:22:56] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:56] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:56] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:56] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[08:22:56] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[08:22:56] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:56] [CELL_UPLOAD] → not my message, setting complete
[08:22:56] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:57] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:57] [CELL_UPLOAD] → not my message, setting complete
[08:22:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:57] [LOCK] Lock button tapped - locking app immediately
[08:22:57] [LOCK] Received lock app notification
[08:22:57] [LIFECYCLE] App resigning active - cleared crash flag
[08:22:58] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[08:22:58] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[08:22:58] [LIFECYCLE] App entering background - cleared crash flag
[08:22:58] [CLIENT_SIG] Disconnecting
[08:22:58] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[08:22:58] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=-1
[08:22:58] In cleanupPeer
[08:22:58] In cleanupPeer
[08:22:58] [LIFECYCLE] WebRTC audio disabled
[08:22:58] [LIFECYCLE] AVAudioSession deactivated
[08:22:58] [LIFECYCLE] All connections stopped
[08:22:58] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":19179,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-01-26 07:22:56"}
[08:22:58] [CHAT] receive_message.php JSON: ["message_type": 0, "file_name": , "datesent_utc": 2026-01-26 07:22:56, "message_id": 19179, "ok": 1, "session_id": ILUIWU]
[08:22:58] [DB_UPGRADE] Upgrading message ID: -2 → 19179, preserveOriginalDate=false
[08:22:58] [DB_UPGRADE] ✅ Upgraded -2 → 19179 with send_status=0, 1 row(s) affected
[08:22:58] [CLIENT_SIG] WebSocket closed with code 1001
[08:22:58] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[08:22:58] [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/}
[08:22:58] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[08:22:58] [SERVER] Stopped reconnect polling
[08:22:58] Will request stop of video 0
[08:22:58] Will request stop of video 0
[08:22:58] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -2 → 19179
[08:22:58] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -2 → 19179
[08:22:58] ReloadData 9
[08:22:58] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:58] [CELL_UPLOAD] → not my message, setting complete
[08:22:58] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:22:58] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:22:58] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:22:58] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:22:58] [PIP] Removing 0 tracks from PiP for connection 0
[08:22:58] [PIP] ✅ All tracks removed for connection 0
[08:22:58] [PIP] Removing 0 tracks from PiP for connection 0
[08:22:58] [PIP] ✅ All tracks removed for connection 0
[08:28:14] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:28:14] [PUSH] Notification tapped - session_id: ILUIWU
[08:28:14] [PUSH] Max message_id before tap: 19179
[08:28:14] [PUSH] Stored pending session: ILUIWU
[08:28:14] [PUSH_EMBED] 📩 Received embedded message: id=19181, type=0, sender=Esra
[08:28:14] [PUSH_EMBED] ✅ Saved message 19181 to local DB (sync)
[08:28:14] [PUSH_EMBED] Created new cache with embedded message 19181
[08:28:14] [PUSH_EMBED] Fetching evolution data for message 19181 in background
[08:28:14] [PUSH_EMBED] ✅ Fully processed message 19181
[08:28:14] [PUSH] Embedded message handled instantly on tap
[08:28:14] [PUSH] Fetching server messages since_id=19179 to catch coalesced notifications on tap
[08:28:14] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[08:28:14] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:28:14] [PUSH_PRELOAD] Fetching up to 50 messages since_id=19179 to catch coalesced notifications
[08:28:14] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:28:14] [LIFECYCLE] App entering foreground - restoring connections
[08:28:14] [LIFECYCLE] Away > 2 minutes (315s) - will scroll to bottom
[08:28:14] [UPLOAD_RETRY] No pending uploads to retry
[08:28:14] [LIFECYCLE] Merged 972 reactions from local DB
[08:28:14] [LIFECYCLE] WebRTC audio re-enabled
[08:28:14] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[08:28:14] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[08:28:14] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:28:14] [VIEWER] Reconnecting after background - querying agents
[08:28:14] [UNSENT_RETRY] Checking for unsent messages...
[08:28:14] [PENDING_UPLOAD] Total pending upload messages: 0
[08:28:14] [UNSENT_RETRY] No unsent messages found
[08:28:14] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[08:28:14] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[08:28:14] [PUSH_UI] Inserted message 19181 into UI (now 52 messages)
[08:28:14] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[08:28:14] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19181, 19179, 19178, 19177, 19176]
[08:28:14] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:14] [CELL_UPLOAD] → not my message, setting complete
[08:28:14] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:14] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:14] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:14] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:14] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19179 → 19181
[08:28:14] [CLIENT_SIG] WebSocket opened
[08:28:14] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[08:28:14] [CLIENT_SIG] Connected! clientId=dIu_nwjhWuda-bey
[08:28:14] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[08:28:14] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[08:28:14] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:28:14] [PUSH_EMBED] Got evolution data for message 19181, saving to local DB
[08:28:14] [PUSH_EMBED] Saved evolution data for message 19181
[08:28:14] [PUSH_PRELOAD] Fetched 2 messages - caching for instant display
[08:28:14] [PUSH_PRELOAD] ⚡ Pre-cached 2 messages for instant display (preserved 0 from push)
[08:28:14] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:28:14] [PUSH] Server fetch on tap completed (success=true)
[08:28:14] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 19181, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:10";
"file_name" = "";
message = "Thank youuu";
"message_id" = 19181;
"message_type" = 0;
"prev_session_message_id" = 19180;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[08:28:14] [PUSH_EMBED_VC] Message 19181 already in memory - skipping
[08:28:14] [PUSH] ⚡ Embedded message handled directly in ViewController
[08:28:14] [PUSH] Parsed message_id: 19181
[08:28:14] [PUSH] Parsed operation_type: 0
[08:28:14] [PUSH] Taking direct action: opType=0, messageId=19181
[08:28:14] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19181
[08:28:14] [PUSH] ⚡ Message 19181 already in memory - skipping duplicate notification entirely
[08:28:14] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[08:28:14] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[08:28:14] [PUSH] handlePollEventsNotification userInfo: [:]
[08:28:14] [PUSH] No message_id in userInfo
[08:28:14] [PUSH] No operation_type in userInfo
[08:28:14] [FAST_REFRESH] Evolution disabled - performing incremental sync
[08:28:14] [FAST_REFRESH] Already have 52 messages - skipping local DB load
[08:28:14] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[08:28:14] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[08:28:14] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[08:28:14] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19181
[08:28:14] [INCREMENTAL_SYNC] ✅ No new messages
[08:28:14] [FAST_REFRESH] Incremental sync complete - 52 messages
[08:28:15] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19181, 19179, 19178, 19177, 19176]
[08:28:15] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:15] [CELL_UPLOAD] → not my message, setting complete
[08:28:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:15] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:15] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:15] [COMBINED_FETCH] Loaded 7943 read receipts, 974 messages with reactions
[08:28:15] [FAST_REFRESH] Enriched 52 messages with readBy data
[08:28:15] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19181, 19179, 19178, 19177, 19176]
[08:28:15] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:15] [CELL_UPLOAD] → not my message, setting complete
[08:28:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:15] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:15] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:15] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:15] [PUSH] Silent push received
[08:28:15] [PUSH_EMBED] 📩 Received embedded message: id=19181, type=0, sender=Esra
[08:28:15] [PUSH_EMBED] ✅ Saved message 19181 to local DB (sync)
[08:28:15] [PUSH_EMBED] Created new cache with embedded message 19181
[08:28:15] [PUSH_EMBED] Fetching evolution data for message 19181 in background
[08:28:15] [PUSH_EMBED] ✅ Fully processed message 19181
[08:28:15] [PUSH] Embedded message handled instantly from silent push
[08:28:15] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[08:28:15] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[08:28:15] [PUSH_UI] Message 19181 already in memory - skipping insert
[08:28:15] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19181, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:10";
"file_name" = "";
message = "Thank youuu";
"message_id" = 19181;
"message_type" = 0;
"prev_session_message_id" = 19180;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
[08:28:15] [PUSH_EMBED_VC] Message 19181 already in memory - skipping
[08:28:15] [PUSH] ⚡ Embedded message handled directly in ViewController
[08:28:15] [PUSH] Parsed message_id: 19181
[08:28:15] [PUSH] Parsed operation_type: 0
[08:28:15] [PUSH] Taking direct action: opType=0, messageId=19181
[08:28:15] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19181
[08:28:15] [PUSH] ⚡ Message 19181 already in memory - skipping duplicate notification entirely
[08:28:15] [COMBINED_FETCH] Loaded 7943 read receipts, 974 messages with reactions
[08:28:15] [FOREGROUND] Enriched 0 messages with readBy data from server
[08:28:15] [PUSH_EMBED] Got evolution data for message 19181, saving to local DB
[08:28:15] [PUSH_EMBED] Saved evolution data for message 19181
[08:28:15] [PIN_AUTH] Correct PIN
[08:28:15] [SECURITY] Restored real session: ILUIWU
[08:28:15] [SECURITY] Restored real session: ILUIWU
[08:28:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19181, 19179, 19178, 19177, 19176]
[08:28:16] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → not my message, setting complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:16] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:16] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[08:28:16] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[08:28:16] [AUTH] UI update complete
[08:28:16] [FAKE MODE] Exiting fake mode, restoring real session
[08:28:16] [SECURITY] Restored real session: ILUIWU
[08:28:16] [SECURITY] Saved real session: ILUIWU
[08:28:16] [FAKE MODE] ✅ Restored real session: ILUIWU
[08:28:16] [FAKE MODE] Loaded 50 messages (limited to page size)
[08:28:16] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:16] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → not my message, setting complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:16] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[08:28:16] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[08:28:16] [USER] ✅ User registered successfully
[08:28:16] [PUSH] User registration after token update: success
[08:28:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:28:16] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → not my message, setting complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:16] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:16] [COMBINED_FETCH] Loaded 7943 read receipts, 974 messages with reactions
[08:28:16] [FAKE MODE] Enriched 50 messages with readBy data
[08:28:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:28:16] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → not my message, setting complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:16] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:16] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:16] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:17] [PUSH] Silent push received
[08:28:17] [PUSH_EMBED] No embedded message_data in notification
[08:28:17] [PUSH] No embedded data, pre-loading messages from server
[08:28:17] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:28:17] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:28:17] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[08:28:17] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:28:17] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19181, AnyHashable("aps"): {
"content-available" = 1;
}]
[08:28:17] [PUSH] Parsed message_id: 19181
[08:28:17] [PUSH] Parsed operation_type: 3
[08:28:17] [PUSH] Taking direct action: opType=3, messageId=19181
[08:28:17] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19181
[08:28:18] [CLIENT_SIG] Event received: type=3 messageId=19181
[08:28:18] [WS_EVENT] Received event: type=3, messageId=19181
[08:28:18] [WS_EVENT] Read receipt for message 19181 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:28:18] [PUSH] Silent push received
[08:28:18] [PUSH_EMBED] No embedded message_data in notification
[08:28:18] [PUSH] No embedded data, pre-loading messages from server
[08:28:18] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:28:18] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:28:18] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[08:28:18] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:28:18] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19180, AnyHashable("operation_type"): 3]
[08:28:18] [PUSH] Parsed message_id: 19180
[08:28:18] [PUSH] Parsed operation_type: 3
[08:28:18] [PUSH] Taking direct action: opType=3, messageId=19180
[08:28:18] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19180
[08:28:18] [CLIENT_SIG] Event received: type=3 messageId=19180
[08:28:18] [WS_EVENT] Received event: type=3, messageId=19180
[08:28:18] [WS_EVENT] Read receipt for message 19180 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:28:21] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[08:28:23] [CLIENT_SIG] Event received: type=0 messageId=19182
[08:28:23] [WS_EVENT] Received event: type=0, messageId=19182
[08:28:23] [WS_EVENT] 📨 New message notification (msgId=19182) - triggering incremental refresh, currentMsgCount=50
[08:28:23] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[08:28:23] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19181
[08:28:23] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[08:28:23] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[08:28:23] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[08:28:23] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-01-26 07:28:23 +0000 - type: unknown, operation_type: 0, message_id: 19182, session_id: ILUIWU, state: 0
[08:28:23] [PUSH_DEBUG] Full userInfo: [AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19182, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:21";
"file_name" = "";
message = "I\U2019ll let you know \U2665\Ufe0f";
"message_id" = 19182;
"message_type" = 0;
"prev_session_message_id" = 19181;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[08:28:23] [PUSH] App active - suppressing notification UI, posting internal event
[08:28:23] [PUSH_EMBED] 📩 Received embedded message: id=19182, type=0, sender=Esra
[08:28:23] [PUSH_EMBED] ✅ Saved message 19182 to local DB (sync)
[08:28:23] [PUSH_EMBED] Inserted message 19182 into existing cache (now 51 messages)
[08:28:23] [PUSH_EMBED] Fetching evolution data for message 19182 in background
[08:28:23] [PUSH_EMBED] ✅ Fully processed message 19182
[08:28:23] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19182, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:21";
"file_name" = "";
message = "I\U2019ll let you know \U2665\Ufe0f";
"message_id" = 19182;
"message_type" = 0;
"prev_session_message_id" = 19181;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[08:28:23] [PUSH_EMBED_VC] Message 19182 already in memory - skipping
[08:28:23] [PUSH] ⚡ Embedded message handled directly in ViewController
[08:28:23] [PUSH] Parsed message_id: 19182
[08:28:23] [PUSH] Parsed operation_type: 0
[08:28:23] [PUSH] Taking direct action: opType=0, messageId=19182
[08:28:23] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19182
[08:28:23] [PUSH] ⚡ Message 19182 already in memory - skipping duplicate notification entirely
[08:28:23] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[08:28:23] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[08:28:23] [PUSH_UI] Message 19182 already in memory - skipping insert
[08:28:23] [PUSH] Silent push received
[08:28:23] [PUSH_EMBED] 📩 Received embedded message: id=19182, type=0, sender=Esra
[08:28:23] [PUSH_EMBED] ✅ Saved message 19182 to local DB (sync)
[08:28:23] [PUSH_EMBED] Fetching evolution data for message 19182 in background
[08:28:23] [PUSH_EMBED] ✅ Fully processed message 19182
[08:28:23] [PUSH] Embedded message handled instantly from silent push
[08:28:23] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[08:28:23] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[08:28:23] [PUSH_UI] Message 19182 already in memory - skipping insert
[08:28:23] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19182, AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:21";
"file_name" = "";
message = "I\U2019ll let you know \U2665\Ufe0f";
"message_id" = 19182;
"message_type" = 0;
"prev_session_message_id" = 19181;
"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;
}]
[08:28:23] [PUSH_EMBED_VC] Message 19182 already in memory - skipping
[08:28:23] [PUSH] ⚡ Embedded message handled directly in ViewController
[08:28:23] [PUSH] Parsed message_id: 19182
[08:28:23] [PUSH] Parsed operation_type: 0
[08:28:23] [PUSH] Taking direct action: opType=0, messageId=19182
[08:28:23] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19182
[08:28:23] [PUSH] ⚡ Message 19182 already in memory - skipping duplicate notification entirely
[08:28:23] [PUSH_EMBED] Got evolution data for message 19182, saving to local DB
[08:28:23] [PUSH_EMBED] Saved evolution data for message 19182
[08:28:23] [PUSH_EMBED] Got evolution data for message 19182, saving to local DB
[08:28:23] [PUSH_EMBED] Saved evolution data for message 19182
[08:28:23] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:28:23] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:23] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:23] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:23] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19181 → 19182
[08:28:26] [PUSH] Silent push received
[08:28:26] [PUSH_EMBED] No embedded message_data in notification
[08:28:26] [PUSH] No embedded data, pre-loading messages from server
[08:28:26] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:28:26] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:28:26] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [19131]
[08:28:26] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push)
[08:28:26] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:28:26] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 19182]
[08:28:26] [PUSH] Parsed message_id: 19182
[08:28:26] [PUSH] Parsed operation_type: 3
[08:28:26] [PUSH] Taking direct action: opType=3, messageId=19182
[08:28:26] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19182
[08:28:26] [CLIENT_SIG] Event received: type=3 messageId=19182
[08:28:26] [WS_EVENT] Received event: type=3, messageId=19182
[08:28:26] [WS_EVENT] Read receipt for message 19182 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:28:30] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[08:28:30] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=51, isReloading=false
[08:28:30] [SEND_MESSAGE] ✅ Added optimistic message id=-3 to arrays, newMsgCount=52
[08:28:30] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[-3, 19182, 19181, 19180, 19179]
[08:28:30] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:30] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:30] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:30] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[08:28:30] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[08:28:31] [CLIENT_SIG] Event received: type=0 messageId=19183
[08:28:31] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":19183,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-01-26 07:28:30"}
[08:28:31] [WS_EVENT] Received event: type=0, messageId=19183
[08:28:31] [WS_EVENT] 📨 New message notification (msgId=19183) - triggering incremental refresh, currentMsgCount=52
[08:28:31] [CHAT] receive_message.php JSON: ["file_name": , "session_id": ILUIWU, "message_type": 0, "datesent_utc": 2026-01-26 07:28:30, "message_id": 19183, "ok": 1]
[08:28:31] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[08:28:31] [DB_UPGRADE] Upgrading message ID: -3 → 19183, preserveOriginalDate=false
[08:28:31] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19182
[08:28:31] [DB_UPGRADE] ✅ Upgraded -3 → 19183 with send_status=0, 1 row(s) affected
[08:28:31] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -3 → 19183
[08:28:31] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -3 → 19183
[08:28:31] ReloadData 9
[08:28:31] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[08:28:31] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:31] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:31] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:31] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[08:28:31] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=52
[08:28:31] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:28:31] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:31] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:31] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:34] [PUSH] Silent push received
[08:28:34] [PUSH_EMBED] No embedded message_data in notification
[08:28:34] [PUSH] No embedded data, pre-loading messages from server
[08:28:34] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:28:34] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:28:34] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [19133, 19131]
[08:28:34] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[08:28:34] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:28:34] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19183, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
[08:28:34] [PUSH] Parsed message_id: 19183
[08:28:34] [PUSH] Parsed operation_type: 3
[08:28:34] [PUSH] Taking direct action: opType=3, messageId=19183
[08:28:34] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19183
[08:28:35] [BROADCAST] Starting camera broadcast on session: iosILUIWU
[08:28:35] Initing with camera 0
[08:28:35] [START] AgentController.start() called with session: iosILUIWU
[08:28:35] [START] Cancelling any existing idle stop timer
[08:28:35] [BROADCAST] Lightbulb shown at lower left, frame=(20.0, 800.0, 50.0, 50.0)
[08:28:35] [CLIENT_SIG] Event received: type=3 messageId=19183
[08:28:35] [WS_EVENT] Received event: type=3, messageId=19183
[08:28:35] [WS_EVENT] Read receipt for message 19183 by Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[08:28:35] WS connected
[08:28:38] [CAM] ✅ Connected to signaling server. Session: iosILUIWU, agentId: XOm3hDPAUQce0W19
[08:28:38] [CAM] helloOK → connected=true, myAgentId=XOm3hDPAUQce0W19
[08:28:38] [WEBRTC] Creating new WebRTC client
[08:28:38] [CODEC] Available video codecs: H264, H264, VP8, VP9, AV1
[08:28:38] [CODEC] Agent selected encoder: AV1 (best quality)
[08:28:38] [WS AUDIO] Initializing WebSocket audio sender...
[08:28:38] [WS AUDIO] ✅ WebSocket audio sender initialized
[08:28:38] [ICE] Agent using 4 ICE urls:
- 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
[08:28:38] [ICE] Using 2 ICE server entries
[08:28:38] [CAPTURE] startCapture() called with width:1920, height:1080, fps:30
[08:28:38] [CAPTURE] Creating audio track
[08:28:38] [CAPTURE] DataChannelAudioSender already exists
[08:28:38] [CAPTURE] Creating front video source and track
[08:28:38] [CAPTURE] Creating back video source and track
[08:28:38] localVideoTrackFront ok
[08:28:38] localVideoTrackBack ok
[08:28:38] Marking tracks as ready and firing callbacks
[08:28:38] [CAPTURE] ✅ Device supports MultiCam, starting dual camera session
[08:28:38] [CAPTURE] configureAndStartMultiCamSession() starting...
[08:28:38] Video capture stopped (audio still running)
[08:28:38] [CAPTURE] Created MultiCamSession and began configuration
[08:28:38] [CAPTURE] Looking for camera devices...
[08:28:38] [CAPTURE] ✅ Found front camera: Front Camera
[08:28:38] [CAPTURE] ✅ Found back camera: Back Camera
[08:28:38] Selected camera format: 1920x1080, pixel format: 875704438
[08:28:38] [CAPTURE] Enabled continuous autofocus for front camera
[08:28:38] Selected camera format: 1920x1080, pixel format: 875704438
[08:28:38] [CAPTURE] Enabled continuous autofocus for back camera
[08:28:38] Selected camera format: 640x480, pixel format: 875704438
[08:28:38] Selected camera format: 640x480, pixel format: 875704438
[08:28:38] [iOS AUDIO] ========== START CAPTURE ==========
[08:28:38] [iOS AUDIO] BEFORE - category: AVAudioSessionCategorySoloAmbient
[08:28:38] [iOS AUDIO] BEFORE - mode: AVAudioSessionModeDefault
[08:28:38] [iOS AUDIO] BEFORE - isOtherAudioPlaying: false
[08:28:38] [iOS AUDIO] BEFORE - availableInputs: ["iPhone Microphone"]
[08:28:38] [iOS AUDIO] BEFORE - currentRoute.inputs: []
[08:28:38] [iOS AUDIO] BEFORE - currentRoute.outputs: ["Speaker"]
[08:28:38] [iOS AUDIO] Setting category to .playAndRecord...
[08:28:38] [iOS AUDIO] Activating audio session...
[08:28:38] [iOS AUDIO] ✅ Audio session configured
[08:28:38] [iOS AUDIO] AFTER - category: AVAudioSessionCategoryPlayAndRecord
[08:28:38] [iOS AUDIO] AFTER - mode: AVAudioSessionModeVideoChat
[08:28:38] [iOS AUDIO] AFTER - currentRoute.inputs: ["iPhone Microphone"]
[08:28:38] [iOS AUDIO] AFTER - currentRoute.outputs: ["Speaker"]
[08:28:38] [iOS AUDIO] AFTER - recordPermission: 1735552628
[08:28:38] [iOS AUDIO] Creating AVAudioEngine...
[08:28:38] [iOS AUDIO] Got inputNode: <AVAudioInputNode: 0x1247b3530>
[08:28:38] [iOS AUDIO] Input format: 48000.0Hz, 1 channels, 1
[08:28:38] [iOS AUDIO] Installing tap on inputNode...
[08:28:38] [iOS AUDIO] ✅ Tap installed
[08:28:38] [iOS AUDIO] Starting engine...
[08:28:38] [iOS AUDIO] ✅ AVAudioEngine started
[08:28:38] [iOS AUDIO] engine.isRunning: true
[08:28:38] [iOS AUDIO] inputNode.isVoiceProcessingEnabled: false
[08:28:38] [iOS AUDIO] ========== END START CAPTURE ==========
[08:28:38] [CAPTURE] Configuration committed
[08:28:38] [CAPTURE] Starting MultiCam session...
[08:28:38] [iOS AUDIO] 📤 Sent packet #1: 9600 bytes (4800 samples, ~100ms)
[08:28:38] [iOS AUDIO] 📤 Sent packet #2: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [CAPTURE] ✅ AVCaptureMultiCamSession started successfully (front + back)
[08:28:39] [CAPTURE] Session running: true
[08:28:39] [CAM] viewerJoin → session: iosILUIWU, viewerId: Is43q7-x81tHjYbv
[08:28:39] [WEBRTC] WebRTC client already exists, reusing it
[08:28:39] [WEBRTC] WebRTC client already exists, reusing it
[08:28:39] ensureCaptureStarted - adding peer
[08:28:39] tracksReady = true
[08:28:39] Added front video track to peer connection for Is43q7-x81tHjYbv
[08:28:39] Added back video track to peer connection for Is43q7-x81tHjYbv
[08:28:39] Added audio track to peer connection for Is43q7-x81tHjYbv
[08:28:39] localVideoTrackFront ok
[08:28:39] localVideoTrackBack ok
[08:28:39] tracks already marked as ready
[08:28:39] Peer added with tracks, notifying viewer ready
[08:28:39] notifyViewerReady called
[08:28:39] notifyViewerReady -> Will send
[08:28:39] [iOS AUDIO] 📤 Sent packet #3: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [iOS AUDIO] 📤 Sent packet #4: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [iOS AUDIO] 📤 Sent packet #5: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [iOS AUDIO] 📤 Sent packet #6: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [iOS AUDIO] 📤 Sent packet #7: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [iOS AUDIO] 📤 Sent packet #8: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [CAM] Offer → session: iosILUIWU, viewerId: Is43q7-x81tHjYbv
[08:28:39] [WEBRTC] WebRTC client already exists, reusing it
[08:28:39] [CAM] Peer connection ready, processing offer immediately
[08:28:39] Creating answer for Is43q7-x81tHjYbv. Found 3 transceivers:
[08:28:39] Transceiver 0: video, direction=sendRecv, hasTrack=true
[08:28:39] Transceiver 1: video, direction=sendRecv, hasTrack=true
[08:28:39] Transceiver 2: audio, direction=sendRecv, hasTrack=true
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4071504272 1 udp 2122260224 192.168.1.8 52643 typ host generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote host → applying
[08:28:39] SEND answer for viewerId=Is43q7-x81tHjYbv
[08:28:39] SDP length: 4815
[08:28:39] ICE gathering state: 1
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2991868729 1 udp 1686052608 212.252.142.37 43158 typ srflx raddr 192.168.1.8 rport 52643 generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote srflx → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] ICE state for vid=Is43q7-x81tHjYbv: 1 ( RTCIceConnectionState )
[08:28:39] Found s:candidate:1039999794 1 udp 2122129152 10.253.162.116 62112 typ host generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [ICE] agent local host
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2872395243 1 udp 1685921536 188.58.29.36 28232 typ srflx raddr 10.253.162.116 rport 62112 generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote srflx → applying
[08:28:39] Candidate: ["sdpMLineIndex": 0, "sdpMid": Optional("0"), "candidate": "candidate:1528760099 1 udp 2122129151 192.168.1.177 64011 typ host generation 0 ufrag k90g network-id 1 network-cost 10"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["sdpMLineIndex": 0, "sdpMid": Optional("0"), "candidate": "candidate:1136277931 1 udp 2122063615 10.62.157.247 63963 typ host generation 0 ufrag k90g network-id 9 network-cost 900"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["sdpMLineIndex": 0, "sdpMid": Optional("0"), "candidate": "candidate:2031408212 1 udp 2121998079 10.115.51.36 60116 typ host generation 0 ufrag k90g network-id 10 network-cost 900"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["sdpMLineIndex": 0, "sdpMid": Optional("0"), "candidate": "candidate:2031408212 1 udp 2121932543 10.115.51.36 49954 typ host generation 0 ufrag k90g network-id 4 network-cost 50"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["sdpMLineIndex": 0, "sdpMid": Optional("0"), "candidate": "candidate:2031408212 1 udp 2121867007 10.115.51.36 64756 typ host generation 0 ufrag k90g network-id 5 network-cost 50"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:2031408212 1 udp 2121801471 10.115.51.36 61031 typ host generation 0 ufrag k90g network-id 6 network-cost 50", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:1215958092 1 udp 2122265343 fdaa:bbcc:ddee:0:1841:8c4f:993a:7857 62800 typ host generation 0 ufrag k90g network-id 3 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:751239009 1 udp 2122197247 2001:1708:bb9:ed00:f5a0:db2b:e1f0:8dc1 63163 typ host generation 0 ufrag k90g network-id 2 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1558409667 1 udp 2121670400 192.0.0.6 62632 typ host generation 0 ufrag 59g5 network-id 3 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1558409667 1 udp 2121604864 192.0.0.6 56090 typ host generation 0 ufrag 59g5 network-id 6 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:35652204 1 udp 2122197248 2a02:4e0:5fd:553a:ddc3:aed2:9843:8560 57432 typ host generation 0 ufrag 59g5 network-id 13 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4212483920 1 udp 2122068736 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 65089 typ host generation 0 ufrag 59g5 network-id 4 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:3386594126 1 udp 2122003200 fd74:6572:6d6e:7573:d:e0f6:10fa:d736 50925 typ host generation 0 ufrag 59g5 network-id 5 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4212483920 1 udp 2121937664 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 49877 typ host generation 0 ufrag 59g5 network-id 7 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:3125946125 1 udp 2121869568 2a02:4e0:5fd:553a:872:a579:644e:58b5 50535 typ host generation 0 ufrag 59g5 network-id 2 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2753134952 1 udp 41885952 192.168.1.31 49692 typ relay raddr 212.252.142.37 rport 43158 generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=49692)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1521702396 1 udp 25108736 192.168.1.31 63116 typ relay raddr 212.252.142.37 rport 42576 generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=63116)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2753134952 1 udp 41754880 192.168.1.31 50468 typ relay raddr 188.58.29.36 rport 28232 generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=50468)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:201649412 1 tcp 1518280448 192.168.1.8 49348 typ host tcptype passive generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:3277322150 1 tcp 1518149376 10.253.162.116 49349 typ host tcptype passive generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2722735447 1 tcp 1517690624 192.0.0.6 49350 typ host tcptype passive generation 0 ufrag 59g5 network-id 3 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [iOS AUDIO] 📤 Sent packet #9: 9600 bytes (4800 samples, ~100ms)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2722735447 1 tcp 1517625088 192.0.0.6 49351 typ host tcptype passive generation 0 ufrag 59g5 network-id 6 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4236957432 1 tcp 1518217472 2a02:4e0:5fd:553a:ddc3:aed2:9843:8560 49352 typ host tcptype passive generation 0 ufrag 59g5 network-id 13 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:96449476 1 tcp 1518088960 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 49353 typ host tcptype passive generation 0 ufrag 59g5 network-id 4 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:930187226 1 tcp 1518023424 fd74:6572:6d6e:7573:d:e0f6:10fa:d736 49354 typ host tcptype passive generation 0 ufrag 59g5 network-id 5 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:96449476 1 tcp 1517957888 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 49355 typ host tcptype passive generation 0 ufrag 59g5 network-id 7 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1157165977 1 tcp 1517889792 2a02:4e0:5fd:553a:872:a579:644e:58b5 49356 typ host tcptype passive generation 0 ufrag 59g5 network-id 2 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4071504272 1 udp 2122260224 192.168.1.8 57431 typ host generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2991868729 1 udp 1686052608 212.252.142.37 42906 typ srflx raddr 192.168.1.8 rport 57431 generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote srflx → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] [ICE] agent local srflx
[08:28:39] Found s:candidate:1039999794 1 udp 2122129152 10.253.162.116 52379 typ host generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) srflx candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:4099270173 1 udp 1685921535 84.227.75.34 64011 typ srflx raddr 192.168.1.177 rport 64011 generation 0 ufrag k90g network-id 1 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2872395243 1 udp 1685921536 188.58.29.36 28579 typ srflx raddr 10.253.162.116 rport 52379 generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote srflx → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1558409667 1 udp 2121670400 192.0.0.6 53665 typ host generation 0 ufrag 59g5 network-id 3 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1558409667 1 udp 2121604864 192.0.0.6 52866 typ host generation 0 ufrag 59g5 network-id 6 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:35652204 1 udp 2122197248 2a02:4e0:5fd:553a:ddc3:aed2:9843:8560 51284 typ host generation 0 ufrag 59g5 network-id 13 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4212483920 1 udp 2122068736 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 52561 typ host generation 0 ufrag 59g5 network-id 4 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:3386594126 1 udp 2122003200 fd74:6572:6d6e:7573:d:e0f6:10fa:d736 62829 typ host generation 0 ufrag 59g5 network-id 5 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4212483920 1 udp 2121937664 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 56049 typ host generation 0 ufrag 59g5 network-id 7 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:3125946125 1 udp 2121869568 2a02:4e0:5fd:553a:872:a579:644e:58b5 52184 typ host generation 0 ufrag 59g5 network-id 2 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2753134952 1 udp 41885952 192.168.1.31 54437 typ relay raddr 212.252.142.37 rport 42906 generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=54437)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1521702396 1 udp 25108736 192.168.1.31 55743 typ relay raddr 212.252.142.37 rport 43007 generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=55743)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2753134952 1 udp 41754880 192.168.1.31 54511 typ relay raddr 188.58.29.36 rport 28579 generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=54511)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:201649412 1 tcp 1518280448 192.168.1.8 49357 typ host tcptype passive generation 0 ufrag 59g5 network-id 1 network-cost 10
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:3277322150 1 tcp 1518149376 10.253.162.116 49358 typ host tcptype passive generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2722735447 1 tcp 1517690624 192.0.0.6 49359 typ host tcptype passive generation 0 ufrag 59g5 network-id 3 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:2722735447 1 tcp 1517625088 192.0.0.6 49360 typ host tcptype passive generation 0 ufrag 59g5 network-id 6 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:4236957432 1 tcp 1518217472 2a02:4e0:5fd:553a:ddc3:aed2:9843:8560 49361 typ host tcptype passive generation 0 ufrag 59g5 network-id 13 network-cost 900
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:96449476 1 tcp 1518088960 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 49362 typ host tcptype passive generation 0 ufrag 59g5 network-id 4 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:930187226 1 tcp 1518023424 fd74:6572:6d6e:7573:d:e0f6:10fa:d736 49363 typ host tcptype passive generation 0 ufrag 59g5 network-id 5 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:96449476 1 tcp 1517957888 fd74:6572:6d6e:7573:c:e0f6:10fa:d736 49364 typ host tcptype passive generation 0 ufrag 59g5 network-id 7 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1157165977 1 tcp 1517889792 2a02:4e0:5fd:553a:872:a579:644e:58b5 49365 typ host tcptype passive generation 0 ufrag 59g5 network-id 2 network-cost 50
[08:28:39] [ICE] remote host → applying
[08:28:39] [ICE] agent local relay → ip=192.168.1.31 port=62918
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) relay candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:122267067 1 udp 41755135 192.168.1.31 62918 typ relay raddr 84.227.75.34 rport 64011 generation 0 ufrag k90g network-id 1 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1521702396 1 udp 24977663 192.168.1.31 50992 typ relay raddr 188.58.29.36 rport 26761 generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=50992)
[08:28:39] [CAM] iceFromViewer viewerId=Is43q7-x81tHjYbv
[08:28:39] [CAM] Peer connection ready, processing ICE candidate immediately
[08:28:39] addRemoteCandidate for vid=Is43q7-x81tHjYbv
[08:28:39] Found s:candidate:1521702396 1 udp 24977663 192.168.1.31 50392 typ relay raddr 188.58.29.36 rport 26291 generation 0 ufrag 59g5 network-id 12 network-cost 900
[08:28:39] [ICE] remote relay → applying (ip=192.168.1.31 port=50392)
[08:28:39] [ICE] agent local relay → ip=192.168.1.31 port=65268
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) relay candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:2038843171 1 udp 24977663 192.168.1.31 65268 typ relay raddr 84.227.75.34 rport 52930 generation 0 ufrag k90g network-id 1 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:634447291 1 tcp 1518149375 192.168.1.177 52933 typ host tcptype passive generation 0 ufrag k90g network-id 1 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:1031134003 1 tcp 1518083839 10.62.157.247 52938 typ host tcptype passive generation 0 ufrag k90g network-id 9 network-cost 900", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:131806924 1 tcp 1518018303 10.115.51.36 52943 typ host tcptype passive generation 0 ufrag k90g network-id 10 network-cost 900", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["sdpMid": Optional("0"), "sdpMLineIndex": 0, "candidate": "candidate:131806924 1 tcp 1517952767 10.115.51.36 52948 typ host tcptype passive generation 0 ufrag k90g network-id 4 network-cost 50"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["sdpMid": Optional("0"), "sdpMLineIndex": 0, "candidate": "candidate:131806924 1 tcp 1517887231 10.115.51.36 52953 typ host tcptype passive generation 0 ufrag k90g network-id 5 network-cost 50"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["sdpMid": Optional("0"), "sdpMLineIndex": 0, "candidate": "candidate:131806924 1 tcp 1517821695 10.115.51.36 52958 typ host tcptype passive generation 0 ufrag k90g network-id 6 network-cost 50"]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:917892820 1 tcp 1518285567 fdaa:bbcc:ddee:0:1841:8c4f:993a:7857 52963 typ host tcptype passive generation 0 ufrag k90g network-id 3 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [ICE] agent local host
[08:28:39] [ICE] local → remote (Is43q7-x81tHjYbv) host candidate
[08:28:39] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:39] Candidate: ["candidate": "candidate:1376329209 1 tcp 1518217471 2001:1708:bb9:ed00:f5a0:db2b:e1f0:8dc1 52969 typ host tcptype passive generation 0 ufrag k90g network-id 2 network-cost 10", "sdpMid": Optional("0"), "sdpMLineIndex": 0]
[08:28:39] [iOS AUDIO] 📤 Sent packet #10: 9600 bytes (4800 samples, ~100ms)
[08:28:40] [ICE] agent local srflx
[08:28:40] [ICE] local → remote (Is43q7-x81tHjYbv) srflx candidate
[08:28:40] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:40] Candidate: ["sdpMid": Optional("0"), "candidate": "candidate:3975207061 1 udp 1685855999 194.230.158.239 55890 typ srflx raddr 10.62.157.247 rport 63963 generation 0 ufrag k90g network-id 9 network-cost 900", "sdpMLineIndex": 0]
[08:28:40] [ICE] agent local srflx
[08:28:40] [ICE] local → remote (Is43q7-x81tHjYbv) srflx candidate
[08:28:40] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:40] Candidate: ["sdpMid": Optional("0"), "sdpMLineIndex": 0, "candidate": "candidate:3975207061 1 udp 1685855999 194.230.158.239 43148 typ srflx raddr 10.62.157.247 rport 63963 generation 0 ufrag k90g network-id 9 network-cost 900"]
[08:28:40] [ICE] agent local relay → ip=192.168.1.31 port=61186
[08:28:40] [ICE] local → remote (Is43q7-x81tHjYbv) relay candidate
[08:28:40] SEND ice for viewerId=Is43q7-x81tHjYbv
[08:28:40] Candidate: ["sdpMLineIndex": 0, "sdpMid": Optional("0"), "candidate": "candidate:122267067 1 udp 41689599 192.168.1.31 61186 typ relay raddr 194.230.158.239 rport 55890 generation 0 ufrag k90g network-id 9 network-cost 900"]
[08:28:40] ICE state for vid=Is43q7-x81tHjYbv: 2 ( RTCIceConnectionState )
[08:28:40] [STATS] starting poll for vid=Is43q7-x81tHjYbv
[08:28:43] [BROADCAST] Stopping camera broadcast
[08:28:43] [CAM] Disconnected from signaling server
[08:28:43] [iOS AUDIO] ✅ Streaming: 50 packets sent
[08:28:43] Video capture stopped (audio still running)
[08:28:43] [iOS AUDIO] Audio capture stopped
[08:28:43] Capture stopped (video + audio)
[08:28:43] ICE state for vid=Is43q7-x81tHjYbv: 6 ( RTCIceConnectionState )
[08:28:43] Video capture stopped (audio still running)
[08:28:43] Capture stopped (video + audio)
[08:28:43] [WEBRTC] WebRTCClient deinit - timers cleaned up
[08:28:43] [WEBRTC] ✅ Media teardown complete - camera stopped
[08:28:43] WS closed
[08:28:44] [CLIENT_SIG] Typing start from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[08:28:48] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[08:28:49] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:28:49] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:28:50] [CLIENT_SIG] Event received: type=0 messageId=19184
[08:28:50] [WS_EVENT] Received event: type=0, messageId=19184
[08:28:50] [WS_EVENT] 📨 New message notification (msgId=19184) - triggering incremental refresh, currentMsgCount=52
[08:28:50] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[08:28:50] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19183
[08:28:50] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-01-26 07:28:50 +0000 - type: unknown, operation_type: 0, message_id: 19184, session_id: ILUIWU, state: 0
[08:28:50] [PUSH_DEBUG] Full userInfo: [AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:48";
"file_name" = "";
message = "Babyyy\Ud83d\Udc8b\Ud83d\Udc8b\U2665\Ufe0f";
"message_id" = 19184;
"message_type" = 0;
"prev_session_message_id" = 19183;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19184, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
[08:28:50] [PUSH] App active - suppressing notification UI, posting internal event
[08:28:50] [PUSH_EMBED] 📩 Received embedded message: id=19184, type=0, sender=Esra
[08:28:50] [PUSH_EMBED] ✅ Saved message 19184 to local DB (sync)
[08:28:50] [PUSH_EMBED] Inserted message 19184 into existing cache (now 53 messages)
[08:28:50] [PUSH_EMBED] Fetching evolution data for message 19184 in background
[08:28:50] [PUSH_EMBED] ✅ Fully processed message 19184
[08:28:50] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:48";
"file_name" = "";
message = "Babyyy\Ud83d\Udc8b\Ud83d\Udc8b\U2665\Ufe0f";
"message_id" = 19184;
"message_type" = 0;
"prev_session_message_id" = 19183;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 19184, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
[08:28:50] [PUSH_EMBED_VC] Processing embedded message: id=19184, type=0, sender=Esra, prevId=19183
[08:28:50] [PUSH_EMBED_VC] Inserted message 19184 into allMessagesWithReadBy (now 53 messages)
[08:28:50] [PUSH_EMBED_VC] ✅ Previous message 19183 exists in memory
[08:28:50] [PUSH] ⚡ Embedded message handled directly in ViewController
[08:28:50] [PUSH] Parsed message_id: 19184
[08:28:50] [PUSH] Parsed operation_type: 0
[08:28:50] [PUSH] Taking direct action: opType=0, messageId=19184
[08:28:50] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19184
[08:28:50] [PUSH] ⚡ Message 19184 already in memory - skipping duplicate notification entirely
[08:28:50] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[08:28:50] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[08:28:50] [PUSH_UI] Message 19184 already in memory - skipping insert
[08:28:50] [PUSH_EMBED_VC] Saved message 19184 to local DB
[08:28:50] [PUSH] Silent push received
[08:28:50] [PUSH_EMBED] 📩 Received embedded message: id=19184, type=0, sender=Esra
[08:28:50] [PUSH_EMBED] ✅ Saved message 19184 to local DB (sync)
[08:28:50] [PUSH_EMBED] Fetching evolution data for message 19184 in background
[08:28:50] [PUSH_EMBED] ✅ Fully processed message 19184
[08:28:50] [PUSH] Embedded message handled instantly from silent push
[08:28:50] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[08:28:50] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[08:28:50] [PUSH_UI] Message 19184 already in memory - skipping insert
[08:28:50] [PUSH] handlePollEventsNotification userInfo: [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"): 19184, AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:48";
"file_name" = "";
message = "Babyyy\Ud83d\Udc8b\Ud83d\Udc8b\U2665\Ufe0f";
"message_id" = 19184;
"message_type" = 0;
"prev_session_message_id" = 19183;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[08:28:50] [PUSH_EMBED_VC] Message 19184 already in memory - skipping
[08:28:50] [PUSH] ⚡ Embedded message handled directly in ViewController
[08:28:50] [PUSH] Parsed message_id: 19184
[08:28:50] [PUSH] Parsed operation_type: 0
[08:28:50] [PUSH] Taking direct action: opType=0, messageId=19184
[08:28:50] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19184
[08:28:50] [PUSH] ⚡ Message 19184 already in memory - skipping duplicate notification entirely
[08:28:50] [PUSH] Silent push received
[08:28:50] [PUSH_EMBED] 📩 Received embedded message: id=19184, type=0, sender=Esra
[08:28:50] [PUSH_EMBED] ✅ Saved message 19184 to local DB (sync)
[08:28:50] [PUSH_EMBED] Fetching evolution data for message 19184 in background
[08:28:50] [PUSH_EMBED] ✅ Fully processed message 19184
[08:28:50] [PUSH] Embedded message handled instantly from silent push
[08:28:50] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[08:28:50] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[08:28:50] [PUSH_UI] Message 19184 already in memory - skipping insert
[08:28:50] [PUSH] handlePollEventsNotification userInfo: [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"): 19184, AnyHashable("message_data"): {
datesent = "2026-01-26 07:28:48";
"file_name" = "";
message = "Babyyy\Ud83d\Udc8b\Ud83d\Udc8b\U2665\Ufe0f";
"message_id" = 19184;
"message_type" = 0;
"prev_session_message_id" = 19183;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[08:28:50] [PUSH_EMBED_VC] Message 19184 already in memory - skipping
[08:28:50] [PUSH] ⚡ Embedded message handled directly in ViewController
[08:28:50] [PUSH] Parsed message_id: 19184
[08:28:50] [PUSH] Parsed operation_type: 0
[08:28:50] [PUSH] Taking direct action: opType=0, messageId=19184
[08:28:50] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19184
[08:28:50] [PUSH] ⚡ Message 19184 already in memory - skipping duplicate notification entirely
[08:28:50] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[08:28:50] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[08:28:50] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[08:28:50] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=53
[08:28:50] [PUSH_EMBED] Got evolution data for message 19184, saving to local DB
[08:28:50] [PUSH_EMBED] Saved evolution data for message 19184
[08:28:50] [PUSH_EMBED] Got evolution data for message 19184, saving to local DB
[08:28:50] [PUSH_EMBED] Saved evolution data for message 19184
[08:28:50] [PUSH_EMBED] Got evolution data for message 19184, saving to local DB
[08:28:50] [PUSH_EMBED] Saved evolution data for message 19184
[08:28:50] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:28:50] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:50] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:28:50] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:28:50] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19183 → 19184
[08:28:50] [CELL_UPLOAD] configure: msgId=19175, file=6bc3a9f1a52e9ae0.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:28:50] [CELL_UPLOAD] → not my message, setting complete
[08:28:50] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=6bc3a9f1a52e9ae0.png, overlayExists=true
[08:28:53] [PUSH] Silent push received
[08:28:53] [PUSH_EMBED] No embedded message_data in notification
[08:28:53] [PUSH] No embedded data, pre-loading messages from server
[08:28:53] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:28:53] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:28:53] [PRELOAD_CACHE] Preserving 3 push-inserted messages: [19134, 19133, 19131]
[08:28:53] [PUSH_PRELOAD] ⚡ Pre-cached 53 messages for instant display (preserved 3 from push)
[08:28:53] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:28:53] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 19184, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
[08:28:53] [PUSH] Parsed message_id: 19184
[08:28:53] [PUSH] Parsed operation_type: 3
[08:28:53] [PUSH] Taking direct action: opType=3, messageId=19184
[08:28:53] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19184
[08:28:53] [CLIENT_SIG] Event received: type=3 messageId=19184
[08:28:53] [WS_EVENT] Received event: type=3, messageId=19184
[08:28:53] [WS_EVENT] Read receipt for message 19184 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:28:54] [LIFECYCLE] App resigning active - cleared crash flag
[08:28:54] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:28:55] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[08:28:55] [SECURITY] Saved background timestamp
[08:28:55] [LIFECYCLE] App entering background - cleared crash flag
[08:28:55] [CLIENT_SIG] Disconnecting
[08:28:55] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[08:28:55] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=-1
[08:28:55] In cleanupPeer
[08:28:55] In cleanupPeer
[08:28:55] [LIFECYCLE] WebRTC audio disabled
[08:28:55] [LIFECYCLE] AVAudioSession deactivated
[08:28:55] [LIFECYCLE] All connections stopped
[08:28:55] [CLIENT_SIG] WebSocket closed with code 1001
[08:28:55] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[08:28:55] [SERVER] Stopped reconnect polling
[08:28:55] Will request stop of video 0
[08:28:55] Will request stop of video 0
[08:28:55] [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/}
[08:28:55] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[08:28:55] [PIP] Removing 0 tracks from PiP for connection 0
[08:28:55] [PIP] ✅ All tracks removed for connection 0
[08:28:55] [PIP] Removing 0 tracks from PiP for connection 0
[08:28:55] [PIP] ✅ All tracks removed for connection 0
[08:56:46] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:56:46] [PUSH] Notification tapped - session_id: ILUIWU
[08:56:46] [PUSH] Max message_id before tap: 19184
[08:56:46] [PUSH] Stored pending session: ILUIWU
[08:56:46] [PUSH_EMBED] No embedded message_data in notification
[08:56:46] [PUSH] Pre-loading messages on notification tap...
[08:56:46] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:56:46] [SECURITY] Timeout check: elapsed=1671.0670239925385s, timeout=300.0s
[08:56:46] [SECURITY] sceneWillEnterForeground - timeout exceeded, showing lock screen immediately
[08:56:46] [AUTH] ✅ All guards passed, showing privacy cover
[08:56:46] [LIFECYCLE] App entering foreground - restoring connections
[08:56:46] [LIFECYCLE] Away > 2 minutes (1671s) - will scroll to bottom
[08:56:46] [UPLOAD_RETRY] No pending uploads to retry
[08:56:46] [LIFECYCLE] Merged 972 reactions from local DB
[08:56:46] [LIFECYCLE] WebRTC audio re-enabled
[08:56:46] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[08:56:46] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[08:56:46] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:56:46] [VIEWER] Reconnecting after background - querying agents
[08:56:46] [UNSENT_RETRY] Checking for unsent messages...
[08:56:46] [PENDING_UPLOAD] Total pending upload messages: 0
[08:56:46] [UNSENT_RETRY] No unsent messages found
[08:56:46] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:56:46] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:56:46] [PRELOAD_CACHE] Preserving 4 push-inserted messages: [19135, 19134, 19133, 19131]
[08:56:46] [PUSH_PRELOAD] ⚡ Pre-cached 54 messages for instant display (preserved 4 from push)
[08:56:46] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:46] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:56:46] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:56:46] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:56:46] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19185, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
[08:56:46] [PUSH] Parsed message_id: 19185
[08:56:46] [PUSH] Parsed operation_type: 0
[08:56:46] [PUSH] Taking direct action: opType=0, messageId=19185
[08:56:46] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19185
[08:56:46] [PUSH] Handling message fetch for opType=0, messageId=19185
[08:56:46] [PUSH] Requesting URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=19185
[08:56:46] [CLIENT_SIG] WebSocket opened
[08:56:46] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[08:56:46] [CLIENT_SIG] Connected! clientId=ZMz6dQ3t82BYjOtG
[08:56:46] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[08:56:46] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:56:46] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[08:56:46] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[08:56:46] [PUSH] handlePollEventsNotification userInfo: [:]
[08:56:46] [PUSH] No message_id in userInfo
[08:56:46] [PUSH] No operation_type in userInfo
[08:56:46] [FAST_REFRESH] Evolution disabled - performing incremental sync
[08:56:46] [FAST_REFRESH] Already have 53 messages - skipping local DB load
[08:56:46] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[08:56:46] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[08:56:46] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=53
[08:56:46] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19185
[08:56:46] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:56:47] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:47] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:56:47] [COMBINED_FETCH] Loaded 7947 read receipts, 974 messages with reactions
[08:56:47] [FOREGROUND] Enriched 0 messages with readBy data from server
[08:56:47] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[19131, 19133, 19134, 19135, 19136]
[08:56:47] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:47] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:56:47] [PIN_AUTH] Correct PIN
[08:56:47] [SECURITY] Restored real session: ILUIWU
[08:56:47] [SECURITY] Restored real session: ILUIWU
[08:56:47] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[08:56:47] [AUTH] Cache had 54 messages, maxExistingId=19184, inserted 1 truly new
[08:56:47] [AUTH] UI update complete
[08:56:47] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[08:56:47] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[08:56:47] [FAKE MODE] Exiting fake mode, restoring real session
[08:56:47] [SECURITY] Restored real session: ILUIWU
[08:56:47] [SECURITY] Saved real session: ILUIWU
[08:56:47] [FAKE MODE] ✅ Restored real session: ILUIWU
[08:56:47] [FAKE MODE] Loaded 50 messages (limited to page size)
[08:56:47] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:47] [CELL_UPLOAD] → not my message, setting complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:56:47] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19184 → 19185
[08:56:47] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:47] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:56:47] DOWNLOADIIING t_05fe08044942bf44.jpg
[08:56:47] DOWNLOADIIING 05fe08044942bf44.jpg
[08:56:47] [MEDIA_DOWNLOAD] ✅ t_05fe08044942bf44.jpg complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:56:47] [MEDIA_DOWNLOAD] ✅ Set thumbnail for cell: 05fe08044942bf44.jpg from downloaded: t_05fe08044942bf44.jpg
[08:56:47] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:47] [CELL_UPLOAD] → not my message, setting complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:56:47] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19136, 19137, 19138, 19139, 19140]
[08:56:47] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:47] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:56:47] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:47] [CELL_UPLOAD] → not my message, setting complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:56:47] [MEDIA_DOWNLOAD] ✅ 05fe08044942bf44.jpg complete
[08:56:47] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:56:47] [MEDIA_DOWNLOAD] ✅ Set thumbnail for cell: 05fe08044942bf44.jpg from downloaded: 05fe08044942bf44.jpg
[08:56:47] [PUSH] Silent push received
[08:56:47] [PUSH_EMBED] No embedded message_data in notification
[08:56:47] [PUSH] No embedded data, pre-loading messages from server
[08:56:47] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:56:48] [PUSH] Silent push received
[08:56:48] [PUSH_EMBED] No embedded message_data in notification
[08:56:48] [PUSH] No embedded data, pre-loading messages from server
[08:56:48] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:56:49] [PUSH] get_message response: HTTP 200, 495 bytes
[08:56:49] [PUSH] get_message response body: [{"message_type":1,"message_id":19185,"session_id":"ILUIWU","message":"","file_name":"05fe08044942bf44.jpg","msgread":0,"datesent":"2026-01-26 07:56:38","timer":0,"timer_started_at":null,"timer_played":0,"sender_id":"EDAD55A1-003F-415D-AA60-672B34B504FE","sender_name":"Esra","distance":null,"link_url":null,"link_title":null,"link_description":null,"link_image_url":null,"reply_to_id":null,"replied_message":null,"replied_sender_id":null,"replied_sender_name":null,"read_by":[],"reactions":[]}]
[08:56:49] [PUSH] Updated readBy in allMessagesWithReadBy for message 19185: readBy=0
[08:56:49] [PUSH] Updated readBy in chatMessages for message 19185: readBy=0
[08:56:49] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[08:56:49] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[08:56:49] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:56:49] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:56:49] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[08:56:49] [INCREMENTAL_SYNC] ✅ No new messages
[08:56:49] [FAST_REFRESH] Incremental sync complete - 50 messages
[08:56:49] [USER] ✅ User registered successfully
[08:56:49] [PUSH] User registration after token update: success
[08:56:49] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:56:49] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[08:56:49] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:56:49] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19185, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
[08:56:49] [PUSH] Parsed message_id: 19185
[08:56:49] [PUSH] Parsed operation_type: 0
[08:56:49] [PUSH] Taking direct action: opType=0, messageId=19185
[08:56:49] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19185
[08:56:49] [PUSH] ⚡ Message 19185 already in memory - skipping duplicate notification entirely
[08:56:49] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:56:49] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19185, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
[08:56:49] [PUSH] Parsed message_id: 19185
[08:56:49] [PUSH] Parsed operation_type: 3
[08:56:49] [PUSH] Taking direct action: opType=3, messageId=19185
[08:56:49] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19185
[08:56:49] [COMBINED_FETCH] Loaded 7947 read receipts, 974 messages with reactions
[08:56:49] [FAKE MODE] Enriched 50 messages with readBy data
[08:56:49] [COMBINED_FETCH] Loaded 7947 read receipts, 974 messages with reactions
[08:56:49] [FAST_REFRESH] Enriched 50 messages with readBy data
[08:56:49] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[08:56:50] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19136, 19137, 19138, 19139, 19140]
[08:56:50] [CELL_UPLOAD] configure: msgId=19178, file=5728ffa32c3fe2c6.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:50] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[08:56:50] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=5728ffa32c3fe2c6.jpg, overlayExists=true
[08:56:50] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:56:50] [CELL_UPLOAD] → not my message, setting complete
[08:56:50] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:56:50] [PUSH] Silent push received
[08:56:50] [PUSH_EMBED] No embedded message_data in notification
[08:56:50] [PUSH] No embedded data, pre-loading messages from server
[08:56:50] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:56:50] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:56:50] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[08:56:50] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:56:50] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 19185]
[08:56:50] [PUSH] Parsed message_id: 19185
[08:56:50] [PUSH] Parsed operation_type: 3
[08:56:50] [PUSH] Taking direct action: opType=3, messageId=19185
[08:56:50] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19185
[08:56:51] [CLIENT_SIG] Event received: type=3 messageId=19185
[08:56:51] [WS_EVENT] Received event: type=3, messageId=19185
[08:56:51] [WS_EVENT] Read receipt for message 19185 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[08:56:53] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:56:53] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:57:01] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[08:57:01] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false
[08:57:01] [SEND_MESSAGE] ✅ Added optimistic message id=-4 to arrays, newMsgCount=51
[08:57:01] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-4, 19185, 19184, 19183, 19182]
[08:57:01] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:57:01] [CELL_UPLOAD] → not my message, setting complete
[08:57:01] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:57:01] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[08:57:01] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[08:57:02] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":19186,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-01-26 07:57:01"}
[08:57:02] [CHAT] receive_message.php JSON: ["datesent_utc": 2026-01-26 07:57:01, "file_name": , "message_id": 19186, "message_type": 0, "ok": 1, "session_id": ILUIWU]
[08:57:02] [DB_UPGRADE] Upgrading message ID: -4 → 19186, preserveOriginalDate=false
[08:57:02] [CLIENT_SIG] Event received: type=0 messageId=19186
[08:57:02] [WS_EVENT] Received event: type=0, messageId=19186
[08:57:02] [WS_EVENT] 📨 New message notification (msgId=19186) - triggering incremental refresh, currentMsgCount=51
[08:57:02] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[08:57:02] [DB_UPGRADE] ✅ Upgraded -4 → 19186 with send_status=0, 1 row(s) affected
[08:57:02] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19186
[08:57:02] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -4 → 19186
[08:57:02] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -4 → 19186
[08:57:02] ReloadData 9
[08:57:02] [INCREMENTAL_SYNC] ✅ No new messages
[08:57:03] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:57:03] [CELL_UPLOAD] → not my message, setting complete
[08:57:03] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:57:03] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[08:57:05] [PUSH] Silent push received
[08:57:05] [PUSH_EMBED] No embedded message_data in notification
[08:57:05] [PUSH] No embedded data, pre-loading messages from server
[08:57:05] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:57:05] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:57:05] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [19136]
[08:57:05] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push)
[08:57:05] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:57:05] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 19186, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
[08:57:05] [PUSH] Parsed message_id: 19186
[08:57:05] [PUSH] Parsed operation_type: 3
[08:57:05] [PUSH] Taking direct action: opType=3, messageId=19186
[08:57:05] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19186
[08:57:05] [CLIENT_SIG] Event received: type=3 messageId=19186
[08:57:05] [WS_EVENT] Received event: type=3, messageId=19186
[08:57:05] [WS_EVENT] Read receipt for message 19186 by Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[08:57:08] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:57:18] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:57:18] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:57:21] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[08:57:21] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=51, isReloading=false
[08:57:21] [SEND_MESSAGE] ✅ Added optimistic message id=-5 to arrays, newMsgCount=52
[08:57:21] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[-5, 19186, 19185, 19184, 19183]
[08:57:21] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:57:21] [CELL_UPLOAD] → not my message, setting complete
[08:57:21] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:57:21] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[08:57:21] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[08:57:22] [TAP_REPLAY] 🔄 replayEvolutionAnimation called for messageId=19183
[08:57:22] [TAP_REPLAY] 📦 Found message: text.count=11, evolutionData.isEmpty=true
[08:57:22] [TAP_REPLAY] 📡 No local evolution data - fetching from server
[08:57:22] [TAP_REPLAY] 🔍 Server response keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[08:57:22] [TAP_REPLAY] ✅ Successfully fetched 11 events from server - calling playEvolutionInline
[08:57:22] [EVOLUTION] 🎬 playEvolutionInline called for message 19183 with 11 events
[08:57:22] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:22] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:22] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:22] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText=' ', text='Pleeeaaaase'
[08:57:22] [UPDATE_CELL] ✅ Updating ChatCell label to: ' '
[08:57:22] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:22] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:22] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:22] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='P', text='Pleeeaaaase'
[08:57:22] [UPDATE_CELL] ✅ Updating ChatCell label to: 'P'
[08:57:22] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:22] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:22] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:22] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pl', text='Pleeeaaaase'
[08:57:22] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pl'
[08:57:22] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:22] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:22] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:22] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Ple', text='Pleeeaaaase'
[08:57:22] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Ple'
[08:57:22] [CLIENT_SIG] Event received: type=0 messageId=19187
[08:57:22] [WS_EVENT] Received event: type=0, messageId=19187
[08:57:22] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":19187,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-01-26 07:57:21"}
[08:57:22] [WS_EVENT] 📨 New message notification (msgId=19187) - triggering incremental refresh, currentMsgCount=52
[08:57:22] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[08:57:22] [CHAT] receive_message.php JSON: ["datesent_utc": 2026-01-26 07:57:21, "ok": 1, "message_type": 0, "file_name": , "session_id": ILUIWU, "message_id": 19187]
[08:57:22] [DB_UPGRADE] Upgrading message ID: -5 → 19187, preserveOriginalDate=false
[08:57:22] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19186
[08:57:22] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:22] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:22] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:22] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Plee', text='Pleeeaaaase'
[08:57:22] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Plee'
[08:57:22] [DB_UPGRADE] ✅ Upgraded -5 → 19187 with send_status=0, 1 row(s) affected
[08:57:22] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -5 → 19187
[08:57:22] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -5 → 19187
[08:57:22] ReloadData 9
[08:57:22] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:57:22] [CELL_UPLOAD] → not my message, setting complete
[08:57:22] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:57:22] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[08:57:22] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[08:57:22] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=52
[08:57:22] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:22] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:22] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:22] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pleee', text='Pleeeaaaase'
[08:57:22] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleee'
[08:57:23] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19136, 19137, 19138, 19139, 19140]
[08:57:23] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[08:57:23] [CELL_UPLOAD] → not my message, setting complete
[08:57:23] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[08:57:23] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:23] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:23] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:23] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pleeea', text='Pleeeaaaase'
[08:57:23] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleeea'
[08:57:23] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:23] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:23] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:23] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pleeeaa', text='Pleeeaaaase'
[08:57:23] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleeeaa'
[08:57:23] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:23] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:23] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:23] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pleeeaaa', text='Pleeeaaaase'
[08:57:23] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleeeaaa'
[08:57:23] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:23] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:23] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:23] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pleeeaaaa', text='Pleeeaaaase'
[08:57:23] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleeeaaaa'
[08:57:24] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:24] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:24] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:24] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pleeeaaaas', text='Pleeeaaaase'
[08:57:24] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleeeaaaas'
[08:57:24] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:24] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:24] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[08:57:24] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Pleeeaaaase', text='Pleeeaaaase'
[08:57:24] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleeeaaaase'
[08:57:24] [UPDATE_CELL] 🔍 updateMessageCell called for message 19183
[08:57:24] [UPDATE_CELL] Initial targetRowIndex=49
[08:57:24] [UPDATE_CELL] Rebuilt chatRows, count=54
[08:57:24] [UPDATE_CELL] After rebuild targetRowIndex=49
[08:57:24] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=false, evolutionText='Pleeeaaaase', text='Pleeeaaaase'
[08:57:24] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Pleeeaaaase'
[08:57:24] [EVOLUTION] ✅ Animation complete for message 19183 - marking as read now
[08:57:25] [PUSH] Silent push received
[08:57:25] [PUSH_EMBED] No embedded message_data in notification
[08:57:25] [PUSH] No embedded data, pre-loading messages from server
[08:57:25] [PUSH_PRELOAD] Fetching messages for instant display cache
[08:57:26] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[08:57:26] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [19137, 19136]
[08:57:26] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[08:57:26] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[08:57:26] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 19187, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
[08:57:26] [PUSH] Parsed message_id: 19187
[08:57:26] [PUSH] Parsed operation_type: 3
[08:57:26] [PUSH] Taking direct action: opType=3, messageId=19187
[08:57:26] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19187
[08:57:26] [CLIENT_SIG] Event received: type=3 messageId=19187
[08:57:26] [WS_EVENT] Received event: type=3, messageId=19187
[08:57:26] [WS_EVENT] Read receipt for message 19187 by Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[08:57:28] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[08:57:28] [LIFECYCLE] App resigning active - cleared crash flag
[08:57:29] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[08:57:29] [SECURITY] Saved background timestamp
[08:57:29] [LIFECYCLE] App entering background - cleared crash flag
[08:57:29] [CLIENT_SIG] Disconnecting
[08:57:29] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[08:57:29] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=-1
[08:57:29] In cleanupPeer
[08:57:29] In cleanupPeer
[08:57:29] [LIFECYCLE] WebRTC audio disabled
[08:57:29] [LIFECYCLE] AVAudioSession deactivated
[08:57:29] [LIFECYCLE] All connections stopped
[08:57:29] [CLIENT_SIG] WebSocket closed with code 1001
[08:57:29] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[08:57:29] [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/}
[08:57:29] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[08:57:29] [SERVER] Stopped reconnect polling
[08:57:29] Will request stop of video 0
[08:57:29] Will request stop of video 0
[08:57:29] [PIP] Removing 0 tracks from PiP for connection 0
[08:57:29] [PIP] ✅ All tracks removed for connection 0
[08:57:29] [PIP] Removing 0 tracks from PiP for connection 0
[08:57:29] [PIP] ✅ All tracks removed for connection 0
[09:11:31] [CRASH] No crash detected
[09:11:31] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[09:11:31] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[09:11:31] [GIPHY] SDK not available - using REST API fallback
[09:11:31] [BACKGROUND] Background fetch enabled
[09:11:31] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[09:11:31] [CLEANUP] No old timer messages to delete
[09:11:31] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[09:11:31] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:11:31] [USER] ✅ User registered successfully
[09:11:31] [PUSH] User registration after token update: success
[09:25:04] [SECURITY] Initial launch - timeout exceeded (1654.5156960487366s > 300.0s)
[09:25:04] [AUTH] Starting PIN authentication
[09:25:04] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[09:25:04] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:25:04] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[09:25:04] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:25:04] [CLIENT_SIG] WebSocket opened
[09:25:04] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[09:25:04] [CLIENT_SIG] Connected! clientId=y_tEFtPEtHjSylv7
[09:25:04] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=19187)...
[09:25:04] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[09:25:04] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:25:04] [PRELOAD] No messages or parse error
[09:25:05] [PIN_AUTH] Correct PIN
[09:25:05] [SECURITY] Restored real session: ILUIWU
[09:25:05] [SECURITY] Restored real session: ILUIWU
[09:25:05] [SECURITY] Saved real session: ILUIWU
[09:25:05] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[09:25:05] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:25:05] Documents Directory: /var/mobile/Containers/Data/Application/75035B73-3F30-4A91-A570-8F3EEDE21803/Documents
[09:25:05] [THEME] Applying current theme
[09:25:05] [CHAT] Applied day theme (mode: day)
[09:25:05] [SECURITY] Saved real session: ILUIWU
[09:25:05] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[09:25:05] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[09:25:05] [NETWORK] Network monitor started
[09:25:05] [NETWORK] Status changed: connected
[09:25:05] Did transition
[09:25:05] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[09:25:05] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[09:25:05] [VIEWER] Screen lock enabled - normal idle behavior
[09:25:05] [QUERY] 🔍 Creating query connection for iOS slave: iosILUIWU
[09:25:05] [VCC] ========== VideoConnectionClass INIT ==========
[09:25:05] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[09:25:05] [DATA AUDIO] ========== setupWebRTC() START ==========
[09:25:05] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[09:25:05] [DATA AUDIO] Creating encoder/decoder factories...
[09:25:05] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[09:25:05] [CODEC] Viewer selected encoder: AV1 (best quality)
[09:25:05] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[09:25:05] [DATA AUDIO] ✅ Factory created
[09:25:05] [DATA AUDIO] RTCAudioSession locked
[09:25:05] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[09:25:05] [DATA AUDIO] RTCAudioSession unlocked
[09:25:05] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[09:25:05] [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"]
[09:25:05] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[09:25:05] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:25:05] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[09:25:05] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[09:25:05] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[09:25:05] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[09:25:05] Did transition
[09:25:05] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[09:25:05] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:25:05] [CHUNK] Merged 972 reactions synchronously
[09:25:05] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[09:25:05] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[09:25:05] [MIGRATION] No messages need sender_name backfill
[09:25:05] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[09:25:05] [GALLERY_DB] Raw datesent for msg 19185: '2026-01-26 07:56:38'
[09:25:05] [GALLERY_DB] Raw datesent for msg 19178: '2026-01-26 06:37:12'
[09:25:05] [GALLERY_DB] Raw datesent for msg 19175: '2026-01-26 01:00:43'
[09:25:05] [USER] ✅ User registered successfully
[09:25:05] [USER] User registration successful
[09:25:06] [GALLERY_DB] ✅ Loaded 503 media messages
[09:25:06] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19187
[09:25:06] [INCREMENTAL_SYNC] ✅ No new messages
[09:25:06] [GALLERY] Filtered 503 -> 463 (only with local thumbnails)
[09:25:06] [GALLERY] First 5 after sort (newest first):
[09:25:06] [GALLERY] 0: id=19185, date=2026-01-26 07:56:38, file=05fe08044942bf44.jpg
[09:25:06] [GALLERY] 1: id=19178, date=2026-01-26 06:37:12, file=5728ffa32c3fe2c6.jpg
[09:25:06] [GALLERY] 2: id=19175, date=2026-01-26 01:00:43, file=6bc3a9f1a52e9ae0.png
[09:25:06] [GALLERY] 3: id=19149, date=2026-01-25 11:35:26, file=6490cf96bed7f640.jpeg
[09:25:06] [GALLERY] 4: id=19146, date=2026-01-25 11:23:09, file=a6c858d97a01507d.jpeg
[09:25:06] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[09:25:06] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19138, 19139, 19140, 19141, 19142]
[09:25:06] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[09:25:06] [CELL_UPLOAD] configure: msgId=19145, file=01fe690830ee5ba7.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:25:06] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:25:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=01fe690830ee5ba7.jpg, overlayExists=true
[09:25:06] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[09:25:06] [CELL_UPLOAD] → not my message, setting complete
[09:25:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[09:25:06] [SERVER] Starting reconnect polling (5s interval)
[09:25:06] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[09:25:06] [ICONS] Offset applied: -14.6
[09:25:06] [ICONS] New left margin: 11.2, New right margin: 11.3
[09:25:06] [ICONS] Chat center: (31.2, 87.0)
[09:25:06] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[09:25:06] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[09:25:06] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[09:25:06] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[09:25:06] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[09:25:06] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[09:25:06] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[09:25:06] [ICONS] Screen width: 440.0
[09:25:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[09:25:06] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:25:06] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:25:06] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[09:25:06] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[09:25:06] [UNSENT_RETRY] Checking for unsent messages...
[09:25:06] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[09:25:06] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[09:25:06] [UPLOAD_RECOVERY] Session: ILUIWU
[09:25:06] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[09:25:06] [UPLOAD_RECOVERY] Checking recent media messages on server...
[09:25:06] [UPLOAD_RECOVERY] 📋 Recent media: msgId=19178, file=5728ffa32c3fe2c6.jpg, upload_status=complete
[09:25:06] [UPLOAD_RECOVERY] 📋 Recent media: msgId=19145, file=01fe690830ee5ba7.jpg, upload_status=complete
[09:25:06] [UPLOAD_RECOVERY] 📋 Recent media: msgId=19014, file=af34e8f2aaf5b05e.jpg, upload_status=complete
[09:25:06] [UPLOAD_RECOVERY] 📋 Recent media: msgId=18981, file=2852c0089aed517a.jpg, upload_status=complete
[09:25:06] [UPLOAD_RECOVERY] Verifying 4 media files exist on server...
[09:25:06] [PENDING_UPLOAD] Total pending upload messages: 0
[09:25:06] [UNSENT_RETRY] No unsent messages found
[09:25:06] new_session POST ok: token len=157
[09:25:06] HELLO → sent (fetched token, role=query)
[09:25:06] [SIG] hello_ok received for query connection - ready to query agents
[09:25:06] [SIG] get_agents request sent for sessionId=ILUIWU
[09:25:06] [SIG] get_agents request sent for sessionId=iosILUIWU
[09:25:06] [SERVER] Stopped reconnect polling
[09:25:06] [SIG] agents_list received: []
[09:25:06] [SIG] agents_list received: []
[09:25:06] [UPLOAD_RECOVERY] ✅ All media files verified on server
[09:25:06] [COMBINED_FETCH] Loaded 7949 read receipts, 974 messages with reactions
[09:25:06] [READBY_ENRICH] Enriched 50 messages with readBy data
[09:25:06] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[19138, 19139, 19140, 19141, 19142]
[09:25:06] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[09:25:06] [CELL_UPLOAD] → not my message, setting complete
[09:25:06] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[09:25:07] [MENU] dismissAnyExistingMenu called
[09:25:07] [MENU] dismissAnyExistingMenu completed
[09:25:07] [EMOJI_PICKER] Starting emoji picker for message 19185
[09:25:07] [MENU] Created button 'Reply' at index 0
[09:25:07] [MENU] Created button 'Hide' at index 1
[09:25:07] [MENU] Created button 'Delete' at index 2
[09:25:07] [MENU] Menu added at y=623.0
[09:25:07] [EMOJI_PICKER] ✅ Fetched 6 recent emojis
[09:25:07] [EMOJI_PICKER] ✅ Creating picker with 6 recent emojis
[09:25:07] [EMOJI_PICKER] ✅ Picker shown at y=253.0
[09:25:08] [REACTION] add ❤️ to message 19185 (alreadyReacted: false)
[09:25:08] [MENU] dismissAnyExistingMenu called
[09:25:08] [MENU] Found menu with tag 9999, removing
[09:25:08] [MENU] Removing blur effect
[09:25:08] [MENU] Removing floating message snapshot
[09:25:08] [MENU] Dismissing emoji picker
[09:25:08] [MENU] Recorded dismissal time for debounce
[09:25:08] [MENU] dismissAnyExistingMenu completed
[09:25:08] [REACTION] Added ❤️ reaction to message 19185
[09:25:08] [CELL_UPLOAD] configure: msgId=19185, file=05fe08044942bf44.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[09:25:08] [CELL_UPLOAD] → not my message, setting complete
[09:25:08] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=05fe08044942bf44.jpg, overlayExists=true
[09:25:15] [INFO] Current channel: 'ILUIWU'
[09:25:15] [KEYCHAIN] ✅ Password retrieved for channel: ILUIWU
[09:25:15] [INFO] Retrieved password from keychain: length=7
[09:25:18] [SECURITY] Saved real session: ILUIWU2
[09:25:18] [KEYCHAIN] ✅ Password deleted for channel: ILUIWU2
[09:25:18] [KEYCHAIN] ✅ Password saved for channel: ILUIWU2
[09:25:18] [CHANNEL_SWITCH] 🔄 handleChannelChanged received: newChannel='ILUIWU2', role='viewer'
[09:25:18] [INFO] Device registered to 'ILUIWU2': HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":1}
[09:25:18] [CHANNEL_SWITCH] ⏹️ Stopped event polling timer
[09:25:18] [CHANNEL_SWITCH] 🔄 Old sessionId='ILUIWU', switching to 'ILUIWU2'
[09:25:18] [CHANNEL_SWITCH] 🗑️ Cleared local DB for old session 'ILUIWU'
[09:25:18] [CHANNEL_SWITCH] 🗑️ Cleared memory arrays
[09:25:18] [SECURITY] Saved real session: ILUIWU2
[09:25:18] [CHANNEL_SWITCH] ✅ Updated sessionId to 'ILUIWU2'
[09:25:18] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:25:18] [CLIENT_SIG] Disconnecting
[09:25:18] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:25:18] [CHANNEL_SWITCH] 🔌 Reconnected client signaling to 'ILUIWU2'
[09:25:18] [CHANNEL_SWITCH] 📤 Calling refreshAllFromServer...
[09:25:18] [REFRESH_ALL] 🔄 refreshAllFromServer called from: channelSwitch, currentMsgCount=0
[09:25:18] [REFRESH_ALL] 📸 Captured 0 message IDs before request
[09:25:18] [REFRESH_ALL] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU2&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[09:25:18] [CLIENT_SIG] WebSocket closed with code 1001
[09:25:18] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[09:25:18] [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/}
[09:25:18] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[09:25:18] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[09:25:19] [CLIENT_SIG] WebSocket opened
[09:25:19] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:25:19] [CLIENT_SIG] Connected! clientId=_UbTFR0xjzw9tkAl
[09:25:19] [CLIENT_SIG] Received 1 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:25:19] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:25:19] [PENDING_UPLOAD] Total pending upload messages: 0
[09:25:19] [PENDING_UPLOAD] Preserved 0 pending messages before server refresh
[09:25:19] DOWNLOADIIING t_8f2a2de52768ee96.jpg
[09:25:19] DOWNLOADIIING t_674db2cc35314166.jpg
[09:25:19] DOWNLOADIIING t_6864b3095b79fd0d.jpg
[09:25:19] ReloadData 14 (all 4 media thumbnails loaded) - applying tab 3 filtering
[09:25:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=0, first5Ids=[]
[09:25:19] [RELOAD_TAB] ⚠️ allMessagesWithReadBy is EMPTY - falling back to DB
[09:25:19] [RELOAD_TAB] Loaded 50 messages from DB (limited)
[09:25:19] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 0 → 1744
[09:25:19] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 1744 → 4195
[09:25:20] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=10572
[09:25:20] [REFRESH_ALL] 📊 Server returned 10572 messages
[09:25:20] [REFRESH_ALL] 📊 Final merge: server=10572, preserved=0, total=10572
[09:25:20] [REFRESH_ALL] 📊 Displaying 50 of 10572 messages, hasMore=true
[09:25:20] [IMAGE] refreshAllFromServer: set hasMoreMessages=true, offset=50
[09:25:20] [CHANNEL_SWITCH] ✅ Completion handler called! allMessagesWithReadBy.count=50, currentTabIndex=3
[09:25:20] [CHANNEL_SWITCH] 🔄 Switching tab UI to tab 0
[09:25:20] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[09:25:20] [CHANNEL_SWITCH] ✅ Channel switch complete!
[09:25:20] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:25:20] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:25:20] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:25:20] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:25:20] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:25:20] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:25:20] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:25:22] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:26:14] [TAP_REPLAY] 🔄 replayEvolutionAnimation called for messageId=17157
[09:26:14] [TAP_REPLAY] 📦 Found message: text.count=2, evolutionData.isEmpty=true
[09:26:14] [TAP_REPLAY] 📡 No local evolution data - fetching from server
[09:26:14] [TAP_REPLAY] 🔍 Server response keys: ["created_at", "evolution", "has_evolution", "message_id", "ok"]
[09:26:14] [TAP_REPLAY] ✅ Successfully fetched 3 events from server - calling playEvolutionInline
[09:26:14] [EVOLUTION] 🎬 playEvolutionInline called for message 17157 with 3 events
[09:26:14] [UPDATE_CELL] 🔍 updateMessageCell called for message 17157
[09:26:14] [UPDATE_CELL] Initial targetRowIndex=59
[09:26:14] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[09:26:14] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText=' ', text='Je'
[09:26:14] [UPDATE_CELL] ✅ Updating ChatCell label to: ' '
[09:26:14] [UPDATE_CELL] 🔍 updateMessageCell called for message 17157
[09:26:14] [UPDATE_CELL] Initial targetRowIndex=59
[09:26:14] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[09:26:14] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='J', text='Je'
[09:26:14] [UPDATE_CELL] ✅ Updating ChatCell label to: 'J'
[09:26:14] [UPDATE_CELL] 🔍 updateMessageCell called for message 17157
[09:26:14] [UPDATE_CELL] Initial targetRowIndex=59
[09:26:14] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[09:26:14] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Je', text='Je'
[09:26:14] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Je'
[09:26:14] [UPDATE_CELL] 🔍 updateMessageCell called for message 17157
[09:26:14] [UPDATE_CELL] Initial targetRowIndex=59
[09:26:14] [UPDATE_CELL] ⚡ Updated chatRows in place (evolution mode)
[09:26:14] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=true, evolutionText='Je ', text='Je'
[09:26:14] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Je '
[09:26:14] [UPDATE_CELL] 🔍 updateMessageCell called for message 17157
[09:26:14] [UPDATE_CELL] Initial targetRowIndex=59
[09:26:14] [UPDATE_CELL] Rebuilt chatRows, count=63
[09:26:14] [UPDATE_CELL] After rebuild targetRowIndex=59
[09:26:14] [UPDATE_CELL] 📝 Message state: isPlayingEvolution=false, evolutionText='Je', text='Je'
[09:26:14] [UPDATE_CELL] ✅ Updating ChatCell label to: 'Je'
[09:26:14] [UPDATE_CELL] 📐 Height recalculated with scroll position preserved
[09:26:14] [EVOLUTION] ✅ Animation complete for message 17157 - marking as read now
[09:26:14] [MENU] dismissAnyExistingMenu called
[09:26:14] [MENU] dismissAnyExistingMenu completed
[09:26:14] [CELL_UPLOAD] configure: msgId=3275, file=979ed1b3bb8031c5.heic, senderId=96488CEA-CEE8-4DD8-AD91-6475B3A94A3E, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[09:26:14] [CELL_UPLOAD] → not my message, setting complete
[09:26:14] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=979ed1b3bb8031c5.heic, overlayExists=true
[09:26:15] [SCROLL_BTN] Showing button - 380pt from bottom > half 379pt
[09:26:15] [MENU] dismissAnyExistingMenu called
[09:26:15] [MENU] dismissAnyExistingMenu completed
[09:27:11] [LIFECYCLE] App resigning active - cleared crash flag
[09:27:11] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[09:27:11] [SECURITY] Saved background timestamp
[09:27:11] [LIFECYCLE] App entering background - cleared crash flag
[09:27:11] [CLIENT_SIG] Disconnecting
[09:27:11] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[09:27:11] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[09:27:11] [WS] Canceling WebSocket for query connection to iosILUIWU
[09:27:11] In cleanupPeer
[09:27:11] In cleanupPeer
[09:27:11] [LIFECYCLE] WebRTC audio disabled
[09:27:11] [LIFECYCLE] AVAudioSession deactivated
[09:27:11] [LIFECYCLE] All connections stopped
[09:27:11] [CLIENT_SIG] WebSocket closed with code 1001
[09:27:11] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[09:27:11] [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/}
[09:27:11] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[09:27:11] [SERVER] Stopped reconnect polling
[09:27:11] Will request stop of video 0
[09:27:11] Will request stop of video 0
[09:27:11] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[09:27:11] [WS] Query connection error - cleaning up all agent connections and views
[09:27:11] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[09:27:11] [WS] Query connection failed - cleaning up all agent connections and views
[09:27:11] [PIP] Removing 0 tracks from PiP for connection 0
[09:27:11] [PIP] ✅ All tracks removed for connection 0
[09:27:11] [PIP] Removing 0 tracks from PiP for connection 0
[09:27:11] [PIP] ✅ All tracks removed for connection 0
[09:27:11] [CLEANUP] ========================================
[09:27:11] [CLEANUP] Cleaning up all agent connections and views
[09:27:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:27:11] [CLEANUP] Stopped and removed 0 video connections
[09:27:11] [CLEANUP] Removed 0 video views
[09:27:11] [CLEANUP] Removed 0 feed scroll views
[09:27:11] [CLEANUP] Removed 0 status labels
[09:27:11] [CLEANUP] Reset agent query state
[09:27:11] [CLEANUP] Updated page indicator
[09:27:11] [CLEANUP] Rebuilt video layout
[09:27:11] [CLEANUP] ✅ All agent connections and views cleaned up
[09:27:11] [CLEANUP] ========================================
[09:27:11] [SERVER] Skipping reconnect polling - app is in background
[09:27:11] [WS] URLSession invalidated successfully
[09:27:11] [CLEANUP] ========================================
[09:27:11] [CLEANUP] Cleaning up all agent connections and views
[09:27:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:27:11] [CLEANUP] Stopped and removed 0 video connections
[09:27:11] [CLEANUP] Removed 0 video views
[09:27:11] [CLEANUP] Removed 0 feed scroll views
[09:27:11] [CLEANUP] Removed 0 status labels
[09:27:11] [CLEANUP] Reset agent query state
[09:27:11] [CLEANUP] Updated page indicator
[09:27:11] [CLEANUP] Rebuilt video layout
[09:27:11] [CLEANUP] ✅ All agent connections and views cleaned up
[09:27:11] [CLEANUP] ========================================
[09:27:11] [SERVER] Skipping reconnect polling - app is in background
[09:29:22] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[09:29:22] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:29:22] [PUSH] Silent push received
[09:29:22] [PUSH_EMBED] No embedded message_data in notification
[09:29:22] [PUSH] No embedded data, pre-loading messages from server
[09:29:22] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:29:22] [PUSH] Silent push received
[09:29:22] [PUSH_EMBED] No embedded message_data in notification
[09:29:22] [PUSH] No embedded data, pre-loading messages from server
[09:29:22] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:29:22] [PUSH] Silent push received
[09:29:22] [PUSH_EMBED] No embedded message_data in notification
[09:29:22] [PUSH] No embedded data, pre-loading messages from server
[09:29:22] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:29:22] [PUSH] Silent push received
[09:29:22] [PUSH_EMBED] No embedded message_data in notification
[09:29:22] [PUSH] No embedded data, pre-loading messages from server
[09:29:22] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:29:22] [PUSH] Silent push received
[09:29:22] [PUSH_EMBED] No embedded message_data in notification
[09:29:22] [PUSH] No embedded data, pre-loading messages from server
[09:29:22] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:29:22] [PUSH] Silent push received
[09:29:22] [PUSH_EMBED] No embedded message_data in notification
[09:29:22] [PUSH] No embedded data, pre-loading messages from server
[09:29:22] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:29:22] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:29:22] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[09:29:22] HELLO → sent (cached token, role=query)
[09:29:22] [SIG] hello_ok received for query connection - ready to query agents
[09:29:22] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:29:22] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:29:22] [SERVER] Stopped reconnect polling
[09:29:22] [SIG] agents_list received: []
[09:29:22] [SIG] agents_list received: []
[09:29:22] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:29:22] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:29:22] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:29:22] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:29:22] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:29:22] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:29:22] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:29:22] [CLIENT_SIG] WebSocket opened
[09:29:22] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:29:22] [CLIENT_SIG] Connected! clientId=B_4ThsqLnvoRpDuX
[09:29:22] [CLIENT_SIG] Received 2 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:29:22] [CLIENT_SIG] - Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:29:22] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:29:22] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:29:22] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:29:22] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:29:22] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:29:22] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:29:22] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:29:22] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:29:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 14693, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:29:22] [PUSH] Parsed message_id: 14693
[09:29:22] [PUSH] Parsed operation_type: 3
[09:29:22] [PUSH] Taking direct action: opType=3, messageId=14693
[09:29:22] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=14693
[09:29:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 17161, AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:29:22] [PUSH] Parsed message_id: 17161
[09:29:22] [PUSH] Parsed operation_type: 3
[09:29:22] [PUSH] Taking direct action: opType=3, messageId=17161
[09:29:22] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=17161
[09:29:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 17158, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:29:22] [PUSH] Parsed message_id: 17158
[09:29:22] [PUSH] Parsed operation_type: 3
[09:29:22] [PUSH] Taking direct action: opType=3, messageId=17158
[09:29:22] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=17158
[09:29:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 14692, AnyHashable("session_id"): ILUIWU2]
[09:29:22] [PUSH] Parsed message_id: 14692
[09:29:22] [PUSH] Parsed operation_type: 3
[09:29:22] [PUSH] Taking direct action: opType=3, messageId=14692
[09:29:22] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=14692
[09:29:22] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:29:23] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:29:23] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:29:23] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:29:23] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 17157, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[09:29:23] [PUSH] Parsed message_id: 17157
[09:29:23] [PUSH] Parsed operation_type: 3
[09:29:23] [PUSH] Taking direct action: opType=3, messageId=17157
[09:29:23] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=17157
[09:29:23] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 17159]
[09:29:23] [PUSH] Parsed message_id: 17159
[09:29:23] [PUSH] Parsed operation_type: 3
[09:29:23] [PUSH] Taking direct action: opType=3, messageId=17159
[09:29:23] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=17159
[09:29:26] [SECURITY] Timeout check: elapsed=134.9616777896881s, timeout=300.0s
[09:29:26] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU2
[09:29:26] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:29:26] [LIFECYCLE] App entering foreground - restoring connections
[09:29:26] [LIFECYCLE] Away > 2 minutes (134s) - will scroll to bottom
[09:29:26] [UPLOAD_RETRY] No pending uploads to retry
[09:29:26] [LIFECYCLE] Merged 978 reactions from local DB
[09:29:26] [LIFECYCLE] WebRTC audio re-enabled
[09:29:26] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:29:26] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:29:26] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:29:26] [VIEWER] Reconnecting after background - querying agents
[09:29:26] [UNSENT_RETRY] Checking for unsent messages...
[09:29:26] [PENDING_UPLOAD] Total pending upload messages: 0
[09:29:26] [UNSENT_RETRY] No unsent messages found
[09:29:26] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[09:29:26] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[09:29:26] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <B01FA9DC-3F4C-42B0-B2C4-C8949D56AE0F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <B01FA9DC-3F4C-42B0-B2C4-C8949D56AE0F>.<1>}
[09:29:26] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[09:29:26] [WS] Connection failed: The operation couldn’t be completed. Software caused connection abort
[09:29:26] [WS] Query connection failed - cleaning up all agent connections and views
[09:29:26] [WS] WebSocket task completed with error - isQueryOnly=true: The operation couldn’t be completed. Software caused connection abort
[09:29:26] [WS] Query connection error - cleaning up all agent connections and views
[09:29:26] [CLEANUP] ========================================
[09:29:26] [CLEANUP] Cleaning up all agent connections and views
[09:29:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:29:26] [CLEANUP] Stopped and removed 0 video connections
[09:29:26] [CLEANUP] Removed 0 video views
[09:29:26] [CLEANUP] Removed 0 feed scroll views
[09:29:26] [CLEANUP] Removed 0 status labels
[09:29:26] [CLEANUP] Reset agent query state
[09:29:26] [CLEANUP] Updated page indicator
[09:29:26] [CLEANUP] Rebuilt video layout
[09:29:26] [CLEANUP] ✅ All agent connections and views cleaned up
[09:29:26] [CLEANUP] ========================================
[09:29:26] [SERVER] Starting reconnect polling (5s interval)
[09:29:26] [CLEANUP] ========================================
[09:29:26] [CLEANUP] Cleaning up all agent connections and views
[09:29:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:29:26] [CLEANUP] Stopped and removed 0 video connections
[09:29:26] [CLEANUP] Removed 0 video views
[09:29:26] [CLEANUP] Removed 0 feed scroll views
[09:29:26] [CLEANUP] Removed 0 status labels
[09:29:26] [CLEANUP] Reset agent query state
[09:29:26] [CLEANUP] Updated page indicator
[09:29:26] [CLEANUP] Rebuilt video layout
[09:29:26] [CLEANUP] ✅ All agent connections and views cleaned up
[09:29:26] [CLEANUP] ========================================
[09:29:26] [SERVER] Starting reconnect polling (5s interval)
[09:29:26] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:29:26] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:29:26] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:29:26] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:29:27] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[09:29:27] [SECURITY] Within timeout - cleared background flag
[09:29:27] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:29:27] [PUSH] handlePollEventsNotification userInfo: [:]
[09:29:27] [PUSH] No message_id in userInfo
[09:29:27] [PUSH] No operation_type in userInfo
[09:29:27] [FAST_REFRESH] Evolution disabled - performing incremental sync
[09:29:27] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[09:29:27] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[09:29:27] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[09:29:27] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[09:29:27] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 17161
[09:29:27] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:29:27] [FOREGROUND] Enriched 6 messages with readBy data from server
[09:29:27] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[09:29:27] [INCREMENTAL_SYNC] ✅ No new messages
[09:29:27] [FAST_REFRESH] Incremental sync complete - 50 messages
[09:29:27] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:29:27] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:29:27] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:29:27] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:29:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[09:29:28] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:29:28] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:29:28] [FAST_REFRESH] Enriched 50 messages with readBy data
[09:29:28] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[09:29:28] HELLO → sent (cached token, role=query)
[09:29:28] [SIG] hello_ok received for query connection - ready to query agents
[09:29:28] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:29:28] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:29:28] [SERVER] Stopped reconnect polling
[09:29:28] [SIG] agents_list received: []
[09:29:28] [SIG] agents_list received: []
[09:29:28] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:29:28] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:29:28] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:29:28] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:29:28] [MUTE] Status sent to server: muted=1, response code=200
[09:29:28] [MUTE] Status sent to server: muted=1, response code=200
[09:29:29] [LIFECYCLE] App resigning active - cleared crash flag
[09:29:30] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[09:29:30] [SECURITY] Saved background timestamp
[09:29:30] [LIFECYCLE] App entering background - cleared crash flag
[09:29:30] [CLIENT_SIG] Disconnecting
[09:29:30] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[09:29:30] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[09:29:30] [WS] Canceling WebSocket for query connection to iosILUIWU
[09:29:30] In cleanupPeer
[09:29:30] In cleanupPeer
[09:29:30] [LIFECYCLE] WebRTC audio disabled
[09:29:30] [LIFECYCLE] AVAudioSession deactivated
[09:29:30] [LIFECYCLE] All connections stopped
[09:29:30] [SERVER] Stopped reconnect polling
[09:29:30] Will request stop of video 0
[09:29:30] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[09:29:30] [WS] Query connection error - cleaning up all agent connections and views
[09:29:30] Will request stop of video 0
[09:29:30] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[09:29:30] [WS] Query connection failed - cleaning up all agent connections and views
[09:29:30] [PIP] Removing 0 tracks from PiP for connection 0
[09:29:30] [PIP] ✅ All tracks removed for connection 0
[09:29:30] [CLEANUP] ========================================
[09:29:30] [CLEANUP] Cleaning up all agent connections and views
[09:29:30] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:29:30] [CLEANUP] Stopped and removed 0 video connections
[09:29:30] [CLEANUP] Removed 0 video views
[09:29:30] [CLEANUP] Removed 0 feed scroll views
[09:29:30] [CLEANUP] Removed 0 status labels
[09:29:30] [CLEANUP] Reset agent query state
[09:29:30] [CLEANUP] Updated page indicator
[09:29:30] [CLEANUP] Rebuilt video layout
[09:29:30] [CLEANUP] ✅ All agent connections and views cleaned up
[09:29:30] [CLEANUP] ========================================
[09:29:30] [SERVER] Skipping reconnect polling - app is in background
[09:29:30] [WS] URLSession invalidated successfully
[09:29:30] [PIP] Removing 0 tracks from PiP for connection 0
[09:29:30] [PIP] ✅ All tracks removed for connection 0
[09:29:30] [CLEANUP] ========================================
[09:29:30] [CLEANUP] Cleaning up all agent connections and views
[09:29:30] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:29:30] [CLEANUP] Stopped and removed 0 video connections
[09:29:30] [CLEANUP] Removed 0 video views
[09:29:30] [CLEANUP] Removed 0 feed scroll views
[09:29:30] [CLEANUP] Removed 0 status labels
[09:29:30] [CLEANUP] Reset agent query state
[09:29:30] [CLEANUP] Updated page indicator
[09:29:30] [CLEANUP] Rebuilt video layout
[09:29:30] [CLEANUP] ✅ All agent connections and views cleaned up
[09:29:30] [CLEANUP] ========================================
[09:29:30] [SERVER] Skipping reconnect polling - app is in background
[09:29:50] [SECURITY] Timeout check: elapsed=20.46915102005005s, timeout=300.0s
[09:29:50] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU2
[09:29:50] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:29:50] [LIFECYCLE] App entering foreground - restoring connections
[09:29:50] [UPLOAD_RETRY] No pending uploads to retry
[09:29:50] [LIFECYCLE] Merged 978 reactions from local DB
[09:29:50] [LIFECYCLE] WebRTC audio re-enabled
[09:29:50] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:29:50] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:29:50] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:29:50] [VIEWER] Reconnecting after background - querying agents
[09:29:50] [UNSENT_RETRY] Checking for unsent messages...
[09:29:50] [PENDING_UPLOAD] Total pending upload messages: 0
[09:29:50] [UNSENT_RETRY] No unsent messages found
[09:29:50] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[09:29:50] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:29:50] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:29:50] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:29:50] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:29:50] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:29:51] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[09:29:51] [SECURITY] Within timeout - cleared background flag
[09:29:51] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:29:51] [PUSH] handlePollEventsNotification userInfo: [:]
[09:29:51] [PUSH] No message_id in userInfo
[09:29:51] [PUSH] No operation_type in userInfo
[09:29:51] [FAST_REFRESH] Evolution disabled - performing incremental sync
[09:29:51] [FAST_REFRESH] Already have 50 messages - skipping local DB load
[09:29:51] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[09:29:51] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[09:29:51] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[09:29:51] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 17161
[09:29:51] [CLIENT_SIG] WebSocket opened
[09:29:51] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:29:51] [CLIENT_SIG] Connected! clientId=THLpV5xPKE__LYVh
[09:29:51] [CLIENT_SIG] Received 2 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:29:51] [CLIENT_SIG] - Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:29:51] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:29:51] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[09:29:51] HELLO → sent (cached token, role=query)
[09:29:51] [SIG] hello_ok received for query connection - ready to query agents
[09:29:51] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:29:51] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:29:51] [SERVER] Stopped reconnect polling
[09:29:51] [SIG] agents_list received: []
[09:29:51] [SIG] agents_list received: []
[09:29:51] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:29:51] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:29:51] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:29:51] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:29:52] [PUSH] Silent push received
[09:29:52] [PUSH_EMBED] 📩 Received embedded message: id=19189, type=0, sender=Lolo
[09:29:52] [PUSH_EMBED] ✅ Saved message 19189 to local DB (sync)
[09:29:52] [PUSH_EMBED] Inserted message 19189 into existing cache (now 51 messages)
[09:29:52] [PUSH_EMBED] Fetching evolution data for message 19189 in background
[09:29:52] [PUSH_EMBED] ✅ Fully processed message 19189
[09:29:52] [PUSH] Embedded message handled instantly from silent push
[09:29:52] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[09:29:52] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=3F6A8511-914A-4BE0-9540-3582F1C2DD43, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[09:29:52] [PUSH_UI] Inserted message 19189 into UI (now 51 messages)
[09:29:52] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): {
datesent = "2026-01-26 08:29:44";
"file_name" = "";
message = Msg2;
"message_id" = 19189;
"message_type" = 0;
"prev_session_message_id" = 19188;
"sender_id" = "3F6A8511-914A-4BE0-9540-3582F1C2DD43";
"sender_name" = Lolo;
"session_id" = ILUIWU2;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 19189]
[09:29:52] [PUSH_EMBED_VC] Message 19189 already in memory - skipping
[09:29:52] [PUSH] ⚡ Embedded message handled directly in ViewController
[09:29:52] [PUSH] Parsed message_id: 19189
[09:29:52] [PUSH] Parsed operation_type: 0
[09:29:52] [PUSH] Taking direct action: opType=0, messageId=19189
[09:29:52] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19189
[09:29:52] [PUSH] ⚡ Message 19189 already in memory - skipping duplicate notification entirely
[09:29:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[19189, 1744, 4195, 1781, 1817]
[09:29:52] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:29:52] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:29:52] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:29:55] [MENU] dismissAnyExistingMenu called
[09:29:55] [MENU] dismissAnyExistingMenu completed
[09:29:55] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 17161 → 19189
[09:29:59] [CLIENT_SIG] Event received: type=0 messageId=19189
[09:29:59] [WS_EVENT] Received event: type=0, messageId=19189
[09:29:59] [WS_EVENT] 📨 New message notification (msgId=19189) - triggering incremental refresh, currentMsgCount=51
[09:29:59] [INCREMENTAL_SYNC] ⚠️ Already reloading - skipping incremental refresh
[09:29:59] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[09:29:59] [INCREMENTAL_SYNC] ✅ Found 2 new messages
[09:29:59] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=2
[09:29:59] [FAST_REFRESH] Incremental sync complete - 52 messages
[09:29:59] [PUSH_EMBED] Got evolution data for message 19189, saving to local DB
[09:29:59] [PUSH_EMBED] Saved evolution data for message 19189
[09:29:59] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:29:59] [CELL_UPLOAD] configure: msgId=4147, file=8f9a7578f1011fa7.png, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[09:29:59] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[09:29:59] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=8f9a7578f1011fa7.png, overlayExists=true
[09:30:00] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:30:00] [FAST_REFRESH] Enriched 52 messages with readBy data
[09:30:00] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:30:00] [FOREGROUND] Enriched 1 messages with readBy data from server
[09:30:00] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[09:30:00] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[1744, 4195, 1781, 1817, 1818]
[09:30:01] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[09:30:01] [WS] Query connection error - cleaning up all agent connections and views
[09:30:01] [CLEANUP] ========================================
[09:30:01] [CLEANUP] Cleaning up all agent connections and views
[09:30:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:30:01] [CLEANUP] Stopped and removed 0 video connections
[09:30:01] [CLEANUP] Removed 0 video views
[09:30:01] [CLEANUP] Removed 0 feed scroll views
[09:30:01] [CLEANUP] Removed 0 status labels
[09:30:01] [CLEANUP] Reset agent query state
[09:30:01] [CLEANUP] Updated page indicator
[09:30:01] [CLEANUP] Rebuilt video layout
[09:30:01] [CLEANUP] ✅ All agent connections and views cleaned up
[09:30:01] [CLEANUP] ========================================
[09:30:01] [SERVER] Starting reconnect polling (5s interval)
[09:30:01] [PUSH] Silent push received
[09:30:01] [PUSH_EMBED] No embedded message_data in notification
[09:30:01] [PUSH] No embedded data, pre-loading messages from server
[09:30:01] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:30:01] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:30:01] [PUSH] Silent push received
[09:30:01] [PUSH_EMBED] No embedded message_data in notification
[09:30:01] [PUSH] No embedded data, pre-loading messages from server
[09:30:01] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:30:01] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [4195, 1744]
[09:30:01] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[09:30:01] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:30:01] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19189, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU2]
[09:30:01] [PUSH] Parsed message_id: 19189
[09:30:01] [PUSH] Parsed operation_type: 3
[09:30:01] [PUSH] Taking direct action: opType=3, messageId=19189
[09:30:01] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19189
[09:30:01] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:30:01] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [4195, 1744]
[09:30:01] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[09:30:01] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:30:01] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19188, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:30:01] [PUSH] Parsed message_id: 19188
[09:30:01] [PUSH] Parsed operation_type: 3
[09:30:01] [PUSH] Taking direct action: opType=3, messageId=19188
[09:30:01] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19188
[09:30:06] [SERVER] Polling - attempting to reconnect...
[09:30:10] [CLIENT_SIG] Event received: type=3 messageId=19189
[09:30:10] [WS_EVENT] Received event: type=3, messageId=19189
[09:30:10] [WS_EVENT] Read receipt for message 19189 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:30:10] [CLIENT_SIG] Event received: type=3 messageId=19188
[09:30:10] [WS_EVENT] Received event: type=3, messageId=19188
[09:30:10] [WS_EVENT] Read receipt for message 19188 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:30:11] [SERVER] Polling - attempting to reconnect...
[09:30:16] [SERVER] Polling - attempting to reconnect...
[09:30:21] [SERVER] Polling - attempting to reconnect...
[09:30:26] [SERVER] Polling - attempting to reconnect...
[09:30:31] [SERVER] Polling - attempting to reconnect...
[09:30:36] [SERVER] Polling - attempting to reconnect...
[09:30:41] [SERVER] Polling - attempting to reconnect...
[09:30:46] [SERVER] Polling - attempting to reconnect...
[09:30:51] [SERVER] Polling - attempting to reconnect...
[09:30:56] [SERVER] Polling - attempting to reconnect...
[09:31:01] [SERVER] Polling - attempting to reconnect...
[09:31:06] [SERVER] Polling - attempting to reconnect...
[09:31:11] [SERVER] Polling - attempting to reconnect...
[09:31:16] [SERVER] Polling - attempting to reconnect...
[09:31:21] [SERVER] Polling - attempting to reconnect...
[09:31:26] [SERVER] Polling - attempting to reconnect...
[09:31:31] [SERVER] Polling - attempting to reconnect...
[09:31:36] [SERVER] Polling - attempting to reconnect...
[09:31:41] [SERVER] Polling - attempting to reconnect...
[09:31:46] [SERVER] Polling - attempting to reconnect...
[09:31:51] [SERVER] Polling - attempting to reconnect...
[09:31:56] [SERVER] Polling - attempting to reconnect...
[09:32:01] [SERVER] Polling - attempting to reconnect...
[09:32:06] [SERVER] Polling - attempting to reconnect...
[09:32:11] [SERVER] Polling - attempting to reconnect...
[09:32:16] [SERVER] Polling - attempting to reconnect...
[09:32:21] [SERVER] Polling - attempting to reconnect...
[09:32:26] [SERVER] Polling - attempting to reconnect...
[09:32:31] [SERVER] Polling - attempting to reconnect...
[09:32:36] [SERVER] Polling - attempting to reconnect...
[09:32:41] [SERVER] Polling - attempting to reconnect...
[09:32:46] [SERVER] Polling - attempting to reconnect...
[09:32:51] [SERVER] Polling - attempting to reconnect...
[09:32:56] [SERVER] Polling - attempting to reconnect...
[09:33:01] [SERVER] Polling - attempting to reconnect...
[09:33:06] [SERVER] Polling - attempting to reconnect...
[09:33:11] [SERVER] Polling - attempting to reconnect...
[09:33:16] [SERVER] Polling - attempting to reconnect...
[09:33:21] [SERVER] Polling - attempting to reconnect...
[09:33:26] [SERVER] Polling - attempting to reconnect...
[09:33:31] [SERVER] Polling - attempting to reconnect...
[09:33:36] [SERVER] Polling - attempting to reconnect...
[09:33:41] [SERVER] Polling - attempting to reconnect...
[09:33:46] [SERVER] Polling - attempting to reconnect...
[09:33:51] [SERVER] Polling - attempting to reconnect...
[09:33:51] [LIFECYCLE] App resigning active - cleared crash flag
[09:33:52] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[09:33:52] [SECURITY] Saved background timestamp
[09:33:52] [LIFECYCLE] App entering background - cleared crash flag
[09:33:52] [CLIENT_SIG] Disconnecting
[09:33:52] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[09:33:52] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[09:33:52] [WS] Canceling WebSocket for query connection to iosILUIWU
[09:33:52] In cleanupPeer
[09:33:52] In cleanupPeer
[09:33:52] [LIFECYCLE] WebRTC audio disabled
[09:33:52] [LIFECYCLE] AVAudioSession deactivated
[09:33:52] [LIFECYCLE] All connections stopped
[09:33:52] [CLIENT_SIG] WebSocket closed with code 1001
[09:33:52] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[09:33:52] [SERVER] Stopped reconnect polling
[09:33:52] [WS] URLSession invalidated successfully
[09:33:52] Will request stop of video 0
[09:33:52] Will request stop of video 0
[09:33:52] [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/}
[09:33:52] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[09:33:52] [PIP] Removing 0 tracks from PiP for connection 0
[09:33:52] [PIP] ✅ All tracks removed for connection 0
[09:33:52] [PIP] Removing 0 tracks from PiP for connection 0
[09:33:52] [PIP] ✅ All tracks removed for connection 0
[09:43:50] [CRASH] No crash detected
[09:43:50] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[09:43:50] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[09:43:50] [GIPHY] SDK not available - using REST API fallback
[09:43:50] [BACKGROUND] Background fetch enabled
[09:43:50] [SECURITY] Initial launch - timeout exceeded (597.886655330658s > 300.0s)
[09:43:50] [AUTH] Starting PIN authentication
[09:43:50] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU2
[09:43:50] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:43:50] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[09:43:50] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:43:50] [CLEANUP] No old timer messages to delete
[09:43:50] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[09:43:50] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1,"removed_from_other_channels":0}
[09:43:50] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:43:50] [USER] ✅ User registered successfully
[09:43:50] [PUSH] User registration after token update: success
[09:43:50] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=19189)...
[09:43:50] [CLIENT_SIG] WebSocket opened
[09:43:50] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:43:50] [CLIENT_SIG] Connected! clientId=VqZwU4Bc062CA1tv
[09:43:50] [PRELOAD] No messages or parse error
[09:43:50] [CLIENT_SIG] Received 2 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:43:50] [CLIENT_SIG] - Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:43:50] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:43:52] [PIN_AUTH] Correct PIN
[09:43:52] [SECURITY] Restored real session: ILUIWU2
[09:43:52] [SECURITY] Restored real session: ILUIWU2
[09:43:52] [SECURITY] Saved real session: ILUIWU2
[09:43:52] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[09:43:52] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:43:52] Documents Directory: /var/mobile/Containers/Data/Application/3AC01166-C687-4982-BE84-6DCD32D50197/Documents
[09:43:52] [THEME] Applying current theme
[09:43:52] [CHAT] Applied day theme (mode: day)
[09:43:52] [SECURITY] Saved real session: ILUIWU2
[09:43:52] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:43:52] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:43:52] [NETWORK] Network monitor started
[09:43:52] [NETWORK] Status changed: connected
[09:43:52] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[09:43:52] Did transition
[09:43:52] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU2
[09:43:52] [VIEWER] Screen lock enabled - normal idle behavior
[09:43:52] [QUERY] 🔍 Creating query connection for iOS slave: iosILUIWU2
[09:43:52] [VCC] ========== VideoConnectionClass INIT ==========
[09:43:52] [VCC] Session: iosILUIWU2, ViewIdx: 0, AgentId: nil
[09:43:52] [DATA AUDIO] ========== setupWebRTC() START ==========
[09:43:52] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[09:43:52] [DATA AUDIO] Creating encoder/decoder factories...
[09:43:52] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[09:43:52] [CODEC] Viewer selected encoder: AV1 (best quality)
[09:43:52] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[09:43:52] [DATA AUDIO] ✅ Factory created
[09:43:52] [DATA AUDIO] RTCAudioSession locked
[09:43:52] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[09:43:52] [DATA AUDIO] RTCAudioSession unlocked
[09:43:52] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[09:43: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"]
[09:43:52] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU2
[09:43:52] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:43:52] [QUERY] ✅ tempQueryConnection created for iosILUIWU2
[09:43:52] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[09:43:52] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[09:43:52] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[09:43:52] Did transition
[09:43:52] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[09:43:52] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:43:52] [CHUNK] Merged 978 reactions synchronously
[09:43:52] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[09:43:52] [GALLERY_DB] Loading ALL media messages for session: ILUIWU2
[09:43:52] [MIGRATION] Found 3 messages needing sender_name backfill
[09:43:52] [GALLERY_DB] Raw datesent for msg 4147: '2025-12-07 13:57:55'
[09:43:52] [GALLERY_DB] Raw datesent for msg 3275: '2025-12-04 12:57:27'
[09:43:52] [GALLERY_DB] Raw datesent for msg 3258: '2025-12-04 11:07:25'
[09:43:52] [GALLERY_DB] ✅ Loaded 8 media messages
[09:43:52] [GALLERY] Filtered 8 -> 4 (only with local thumbnails)
[09:43:52] [GALLERY] First 5 after sort (newest first):
[09:43:52] [GALLERY] 0: id=4147, date=2025-12-07 13:57:55, file=8f9a7578f1011fa7.png
[09:43:52] [GALLERY] 1: id=3275, date=2025-12-04 12:57:27, file=979ed1b3bb8031c5.heic
[09:43:52] [GALLERY] 2: id=3258, date=2025-12-04 11:07:25, file=46824a6556317ee6.mov
[09:43:52] [GALLERY] 3: id=2616, date=2025-11-29 16:12:09, file=92668b65c604182e.jpeg
[09:43:52] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[09:43:52] [USER] ✅ User registered successfully
[09:43:52] [USER] User registration successful
[09:43:52] [SERVER] Starting reconnect polling (5s interval)
[09:43:52] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[09:43:52] [ICONS] Offset applied: -14.6
[09:43:52] [ICONS] New left margin: 11.2, New right margin: 11.3
[09:43:52] [MIGRATION] Failed to parse user names response
[09:43:52] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[09:43:52] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19189, maxMemoryId=19189
[09:43:52] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19189
[09:43:52] [INCREMENTAL_SYNC] ✅ No new messages
[09:43:52] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[09:43:52] [UNSENT_RETRY] Checking for unsent messages...
[09:43:52] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[09:43:52] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[09:43:52] [UPLOAD_RECOVERY] Session: ILUIWU2
[09:43:52] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[09:43:52] [UPLOAD_RECOVERY] Checking recent media messages on server...
[09:43:52] [UPLOAD_RECOVERY] No recent media messages to check on server
[09:43:52] [PENDING_UPLOAD] Total pending upload messages: 0
[09:43:52] [UNSENT_RETRY] No unsent messages found
[09:43:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1781, 1817, 1818, 1819, 1820]
[09:43:52] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[09:43:52] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908]
[09:43:52] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[09:43:52] [ICONS] Chat center: (31.2, 87.0)
[09:43:52] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[09:43:52] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[09:43:52] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[09:43:52] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[09:43:52] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[09:43:52] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[09:43:52] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[09:43:52] [ICONS] Screen width: 440.0
[09:43:52] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU2
[09:43:52] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:43:52] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:43:52] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU2
[09:43:53] [CHAT] Bubble color update notification received
[09:43:53] new_session POST ok: token len=159
[09:43:53] HELLO → sent (fetched token, role=query)
[09:43:53] [SIG] hello_ok received for query connection - ready to query agents
[09:43:53] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:43:53] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:43:53] [SERVER] Stopped reconnect polling
[09:43:53] [SIG] agents_list received: []
[09:43:53] [SIG] agents_list received: []
[09:43:53] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:43:53] [READBY_ENRICH] Enriched 50 messages with readBy data
[09:43:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1781, 1817, 1818, 1819, 1820]
[09:43:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[09:43:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908]
[09:43:56] [MUTE] Status sent to server: muted=0, response code=200
[09:43:56] [MUTE] Status sent to server: muted=0, response code=200
[09:43:58] [MUTE] Status sent to server: muted=1, response code=200
[09:43:58] [MUTE] Status sent to server: muted=1, response code=200
[09:44:01] [LIFECYCLE] App resigning active - cleared crash flag
[09:44:02] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[09:44:02] [SECURITY] Saved background timestamp
[09:44:02] [LIFECYCLE] App entering background - cleared crash flag
[09:44:02] [CLIENT_SIG] Disconnecting
[09:44:02] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[09:44:02] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908]
[09:44:02] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU2, wsState=0
[09:44:02] [WS] Canceling WebSocket for query connection to iosILUIWU2
[09:44:02] In cleanupPeer
[09:44:02] In cleanupPeer
[09:44:02] [LIFECYCLE] WebRTC audio disabled
[09:44:02] [LIFECYCLE] AVAudioSession deactivated
[09:44:02] [LIFECYCLE] All connections stopped
[09:44:02] [CLIENT_SIG] WebSocket closed with code 1001
[09:44:02] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[09:44:02] [SERVER] Stopped reconnect polling
[09:44:02] [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/}
[09:44:02] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[09:44:02] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[09:44:02] [WS] Query connection error - cleaning up all agent connections and views
[09:44:02] Will request stop of video 0
[09:44:02] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[09:44:02] [WS] Query connection failed - cleaning up all agent connections and views
[09:44:02] Will request stop of video 0
[09:44:02] [CLEANUP] ========================================
[09:44:02] [CLEANUP] Cleaning up all agent connections and views
[09:44:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:44:02] [CLEANUP] Stopped and removed 0 video connections
[09:44:02] [CLEANUP] Removed 0 video views
[09:44:02] [CLEANUP] Removed 0 feed scroll views
[09:44:02] [CLEANUP] Removed 0 status labels
[09:44:02] [CLEANUP] Reset agent query state
[09:44:02] [CLEANUP] Updated page indicator
[09:44:02] [CLEANUP] Rebuilt video layout
[09:44:02] [CLEANUP] ✅ All agent connections and views cleaned up
[09:44:02] [CLEANUP] ========================================
[09:44:02] [SERVER] Skipping reconnect polling - app is in background
[09:44:02] [WS] URLSession invalidated successfully
[09:44:02] [PIP] Removing 0 tracks from PiP for connection 0
[09:44:02] [PIP] ✅ All tracks removed for connection 0
[09:44:02] [CLEANUP] ========================================
[09:44:02] [CLEANUP] Cleaning up all agent connections and views
[09:44:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:44:02] [CLEANUP] Stopped and removed 0 video connections
[09:44:02] [CLEANUP] Removed 0 video views
[09:44:02] [CLEANUP] Removed 0 feed scroll views
[09:44:02] [CLEANUP] Removed 0 status labels
[09:44:02] [CLEANUP] Reset agent query state
[09:44:02] [CLEANUP] Updated page indicator
[09:44:02] [CLEANUP] Rebuilt video layout
[09:44:02] [CLEANUP] ✅ All agent connections and views cleaned up
[09:44:02] [CLEANUP] ========================================
[09:44:02] [SERVER] Skipping reconnect polling - app is in background
[09:44:02] [PIP] Removing 0 tracks from PiP for connection 0
[09:44:02] [PIP] ✅ All tracks removed for connection 0
[09:44:04] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU2
[09:44:04] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:44:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU2
[09:44:04] HELLO → sent (cached token, role=query)
[09:44:04] [SIG] hello_ok received for query connection - ready to query agents
[09:44:04] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:44:04] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:44:04] [SERVER] Stopped reconnect polling
[09:44:04] [SIG] agents_list received: []
[09:44:04] [SIG] agents_list received: []
[09:44:06] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:44:06] [CLIENT_SIG] WebSocket opened
[09:44:06] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:44:06] [CLIENT_SIG] Connected! clientId=fcqHkf4WPI5457H6
[09:44:06] [CLIENT_SIG] Received 2 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:44:06] [CLIENT_SIG] - Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:44:06] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:44:06] [CLIENT_SIG] Typing start from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:44:12] [CLIENT_SIG] Typing stop from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:44:14] [PUSH] Silent push received
[09:44:14] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:44:14 +0000, appState=2, message_id=19190
[09:44:14] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[]
[09:44:14] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:44:14 +0000
[09:44:14] [PUSH_TRACE] ⬇️ Processing embedded message_id=19190
[09:44:14] [PUSH_EMBED] 📩 Received embedded message: id=19190, type=0, sender=Lolo
[09:44:14] [PUSH_TRACE] ⬇️ Message details: text="Msg3...", datesent=2026-01-26 08:44:12
[09:44:14] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU2, currentSession=ILUIWU2
[09:44:14] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 19190
[09:44:14] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 19190
[09:44:14] [PUSH_EMBED] ✅ Saved message 19190 to local DB (sync)
[09:44:14] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 19190
[09:44:14] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 19190
[09:44:14] [PUSH_TRACE] 📦 INSIDE cache update queue for message 19190
[09:44:14] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[]
[09:44:14] [PUSH_EMBED] Created new cache with embedded message 19190
[09:44:14] [PUSH_TRACE] 📦 ✅ Created new cache with message 19190
[09:44:14] [PUSH_TRACE] 📦 EXITING cache update queue for message 19190
[09:44:14] [PUSH_EMBED] Fetching evolution data for message 19190 in background
[09:44:14] [PUSH_EMBED] ✅ Fully processed message 19190
[09:44:14] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 19190
[09:44:14] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[19190], handled=true
[09:44:14] [PUSH] Embedded message handled instantly from silent push
[09:44:14] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[09:44:14] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=19190
[09:44:14] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[09:44:14] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[09:44:14] [PUSH_TRACE] 👁️ Received message id=19190, text="Msg3..."
[09:44:14] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=3F6A8511-914A-4BE0-9540-3582F1C2DD43, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[09:44:14] [PUSH_TRACE] 👁️ BEFORE insert: 50 messages, first 5 IDs: [1781, 1817, 1818, 1819, 1820]
[09:44:14] [PUSH_TRACE] 👁️ Inserted message 19190 at index 0
[09:44:14] [PUSH_UI] Inserted message 19190 into UI (now 51 messages)
[09:44:14] [PUSH_TRACE] 👁️ AFTER insert: 51 messages, first 5 IDs: [19190, 1781, 1817, 1818, 1819]
[09:44:14] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[09:44:14] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[09:44:14] [WS] Query connection error - cleaning up all agent connections and views
[09:44:14] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1891]
[09:44:14] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("message_data"): {
datesent = "2026-01-26 08:44:12";
"file_name" = "";
message = Msg3;
"message_id" = 19190;
"message_type" = 0;
"prev_session_message_id" = 19189;
"sender_id" = "3F6A8511-914A-4BE0-9540-3582F1C2DD43";
"sender_name" = Lolo;
"session_id" = ILUIWU2;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19190, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:44:14] [PUSH_EMBED_VC] Message 19190 already in memory - skipping
[09:44:14] [PUSH] ⚡ Embedded message handled directly in ViewController
[09:44:14] [PUSH] Parsed message_id: 19190
[09:44:14] [PUSH] Parsed operation_type: 0
[09:44:14] [PUSH] Taking direct action: opType=0, messageId=19190
[09:44:14] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19190
[09:44:14] [PUSH] ⚡ Message 19190 already in memory - skipping duplicate notification entirely
[09:44:14] [CLEANUP] ========================================
[09:44:14] [CLEANUP] Cleaning up all agent connections and views
[09:44:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:44:14] [CLEANUP] Stopped and removed 0 video connections
[09:44:14] [CLEANUP] Removed 0 video views
[09:44:14] [CLEANUP] Removed 0 feed scroll views
[09:44:14] [CLEANUP] Removed 0 status labels
[09:44:14] [CLEANUP] Reset agent query state
[09:44:14] [CLEANUP] Updated page indicator
[09:44:14] [CLEANUP] Rebuilt video layout
[09:44:14] [CLEANUP] ✅ All agent connections and views cleaned up
[09:44:14] [CLEANUP] ========================================
[09:44:14] [SERVER] Skipping reconnect polling - app is in background
[09:44:14] [PUSH_EMBED] Got evolution data for message 19190, saving to local DB
[09:44:14] [PUSH_EMBED] Saved evolution data for message 19190
[09:44:14] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[19190, 1781, 1817, 1818, 1819]
[09:44:14] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[09:44:14] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1891]
[09:44:14] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19189 → 19190
[09:44:19] [CLIENT_SIG] Event received: type=0 messageId=19190
[09:44:19] [WS_EVENT] Received event: type=0, messageId=19190
[09:44:19] [WS_EVENT] 📨 New message notification (msgId=19190) - triggering incremental refresh, currentMsgCount=51
[09:44:19] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[09:44:19] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19190, maxMemoryId=19190
[09:44:19] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19190
[09:44:19] [INCREMENTAL_SYNC] ✅ No new messages
[09:44:19] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[09:44:20] [CLIENT_SIG] Typing start from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:44:21] [PUSH] Silent push received
[09:44:21] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:44:21 +0000, appState=2, message_id=nil
[09:44:21] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=1, IDs=[19190]
[09:44:21] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:44:21 +0000
[09:44:21] [PUSH_EMBED] No embedded message_data in notification
[09:44:21] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[09:44:21] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[19190], handled=false
[09:44:21] [PUSH] No embedded data, pre-loading messages from server
[09:44:21] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:44:21] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:44:21] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU2
[09:44:21] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692, 14691]
[09:44:21] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=1, IDs=[19190]
[09:44:21] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[09:44:21] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692, 14691]
[09:44:21] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:44:21] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:44:21] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1891]
[09:44:21] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19190, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:44:21] [PUSH] Parsed message_id: 19190
[09:44:21] [PUSH] Parsed operation_type: 3
[09:44:21] [PUSH] Taking direct action: opType=3, messageId=19190
[09:44:21] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19190
[09:44:24] [CLIENT_SIG] Typing stop from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:44:26] [PUSH] Silent push received
[09:44:26] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:44:26 +0000, appState=2, message_id=19191
[09:44:26] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692, 14691]
[09:44:26] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:44:26 +0000
[09:44:26] [PUSH_TRACE] ⬇️ Processing embedded message_id=19191
[09:44:26] [PUSH_EMBED] 📩 Received embedded message: id=19191, type=0, sender=Lolo
[09:44:26] [PUSH_TRACE] ⬇️ Message details: text="Msg4...", datesent=2026-01-26 08:44:24
[09:44:26] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU2, currentSession=ILUIWU2
[09:44:26] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 19191
[09:44:26] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 19191
[09:44:26] [PUSH_EMBED] ✅ Saved message 19191 to local DB (sync)
[09:44:26] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 19191
[09:44:26] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 19191
[09:44:26] [PUSH_TRACE] 📦 INSIDE cache update queue for message 19191
[09:44:26] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692, 14691]
[09:44:26] [PUSH_EMBED] Inserted message 19191 into existing cache (now 51 messages)
[09:44:26] [PUSH_TRACE] 📦 ✅ Inserted message 19191, cache now has IDs: [19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692]
[09:44:26] [PUSH_TRACE] 📦 EXITING cache update queue for message 19191
[09:44:26] [PUSH_EMBED] Fetching evolution data for message 19191 in background
[09:44:26] [PUSH_EMBED] ✅ Fully processed message 19191
[09:44:26] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 19191
[09:44:26] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692], handled=true
[09:44:26] [PUSH] Embedded message handled instantly from silent push
[09:44:26] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[09:44:26] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=19191
[09:44:26] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[09:44:26] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[09:44:26] [PUSH_TRACE] 👁️ Received message id=19191, text="Msg4..."
[09:44:26] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=3F6A8511-914A-4BE0-9540-3582F1C2DD43, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[09:44:26] [PUSH_TRACE] 👁️ BEFORE insert: 51 messages, first 5 IDs: [19190, 1781, 1817, 1818, 1819]
[09:44:26] [PUSH_TRACE] 👁️ Inserted message 19191 at index 0
[09:44:26] [PUSH_UI] Inserted message 19191 into UI (now 52 messages)
[09:44:26] [PUSH_TRACE] 👁️ AFTER insert: 52 messages, first 5 IDs: [19191, 19190, 1781, 1817, 1818]
[09:44:26] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[09:44:26] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 52 msgs, IDs=[19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:26] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("message_data"): {
datesent = "2026-01-26 08:44:24";
"file_name" = "";
message = Msg4;
"message_id" = 19191;
"message_type" = 0;
"prev_session_message_id" = 19190;
"sender_id" = "3F6A8511-914A-4BE0-9540-3582F1C2DD43";
"sender_name" = Lolo;
"session_id" = ILUIWU2;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19191, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:44:26] [PUSH_EMBED_VC] Message 19191 already in memory - skipping
[09:44:26] [PUSH] ⚡ Embedded message handled directly in ViewController
[09:44:26] [PUSH] Parsed message_id: 19191
[09:44:26] [PUSH] Parsed operation_type: 0
[09:44:26] [PUSH] Taking direct action: opType=0, messageId=19191
[09:44:26] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19191
[09:44:26] [PUSH] ⚡ Message 19191 already in memory - skipping duplicate notification entirely
[09:44:26] [PUSH_EMBED] Got evolution data for message 19191, saving to local DB
[09:44:26] [PUSH_EMBED] Saved evolution data for message 19191
[09:44:26] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19191, 19190, 1781, 1817, 1818]
[09:44:26] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[09:44:26] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:28] [CLIENT_SIG] Event received: type=3 messageId=19190
[09:44:28] [WS_EVENT] Received event: type=3, messageId=19190
[09:44:28] [WS_EVENT] Read receipt for message 19190 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:44:33] [CLIENT_SIG] Event received: type=0 messageId=19191
[09:44:33] [WS_EVENT] Received event: type=0, messageId=19191
[09:44:33] [WS_EVENT] 📨 New message notification (msgId=19191) - triggering incremental refresh, currentMsgCount=52
[09:44:33] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[09:44:33] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19191, maxMemoryId=19191
[09:44:33] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19191
[09:44:33] [INCREMENTAL_SYNC] ✅ No new messages
[09:44:33] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=52
[09:44:35] [SECURITY] Timeout check: elapsed=33.665066719055176s, timeout=300.0s
[09:44:35] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU2
[09:44:35] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:44:35] [LIFECYCLE] App entering foreground - restoring connections
[09:44:35] [PUSH_TRACE] 🔄 FOREGROUND: memory has 52 msgs, IDs=[19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:35] [PUSH_TRACE] 🔄 FOREGROUND: cache has 51 msgs, valid=true, IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692]
[09:44:35] [UPLOAD_RETRY] No pending uploads to retry
[09:44:35] [LIFECYCLE] Merged 978 reactions from local DB
[09:44:35] [LIFECYCLE] WebRTC audio re-enabled
[09:44:35] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:44:35] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:44:35] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:44:35] [VIEWER] Reconnecting after background - querying agents
[09:44:35] [UNSENT_RETRY] Checking for unsent messages...
[09:44:35] [PENDING_UPLOAD] Total pending upload messages: 0
[09:44:35] [UNSENT_RETRY] No unsent messages found
[09:44:36] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19191, 19190, 1781, 1817, 1818]
[09:44:36] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[09:44:36] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:36] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[09:44:36] [SECURITY] Within timeout - cleared background flag
[09:44:36] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:44:36] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 52 msgs, IDs=[19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:36] [PUSH] handlePollEventsNotification userInfo: [:]
[09:44:36] [PUSH] No message_id in userInfo
[09:44:36] [PUSH] No operation_type in userInfo
[09:44:36] [FAST_REFRESH] Evolution disabled - performing incremental sync
[09:44:36] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692]
[09:44:36] [PUSH_TRACE] 📬 POLL: memory state: count=52, first 10 IDs=[19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:36] [FAST_REFRESH] Already have 52 messages - skipping local DB load
[09:44:36] [PUSH_TRACE] ⚠️ POLL: NOT loading from DB because allMessagesWithReadBy has 52 messages
[09:44:36] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[09:44:36] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[09:44:36] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[09:44:36] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19191, maxMemoryId=19191
[09:44:36] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19191
[09:44:36] [INCREMENTAL_SYNC] ✅ No new messages
[09:44:36] [FAST_REFRESH] Incremental sync complete - 52 messages
[09:44:36] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19191, 19190, 1781, 1817, 1818]
[09:44:36] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[09:44:36] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:36] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:44:36] [FOREGROUND] Enriched 0 messages with readBy data from server
[09:44:36] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19191, 19190, 1781, 1817, 1818]
[09:44:36] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[09:44:36] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:36] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19190 → 19191
[09:44:37] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:44:37] [FAST_REFRESH] Enriched 52 messages with readBy data
[09:44:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19191, 19190, 1781, 1817, 1818]
[09:44:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[09:44:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:38] [PUSH] Silent push received
[09:44:38] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:44:38 +0000, appState=0, message_id=nil
[09:44:38] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692]
[09:44:38] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:44:38 +0000
[09:44:38] [PUSH_EMBED] No embedded message_data in notification
[09:44:38] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[09:44:38] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692], handled=false
[09:44:38] [PUSH] No embedded data, pre-loading messages from server
[09:44:38] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:44:39] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:44:39] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU2
[09:44:39] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692]
[09:44:39] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692]
[09:44:39] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [1817]
[09:44:39] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[1817]
[09:44:39] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157, 14693, 14692]
[09:44:39] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push)
[09:44:39] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:44:39] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 52 msgs, IDs=[19191, 19190, 1781, 1817, 1818, 1819, 1820, 1821, 1822, 1823]
[09:44:39] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU2, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 19191, AnyHashable("operation_type"): 3]
[09:44:39] [PUSH] Parsed message_id: 19191
[09:44:39] [PUSH] Parsed operation_type: 3
[09:44:39] [PUSH] Taking direct action: opType=3, messageId=19191
[09:44:39] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19191
[09:44:47] [CLIENT_SIG] Event received: type=3 messageId=19191
[09:44:47] [WS_EVENT] Received event: type=3, messageId=19191
[09:44:47] [WS_EVENT] Read receipt for message 19191 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:44:58] [MENU] dismissAnyExistingMenu called
[09:44:58] [MENU] dismissAnyExistingMenu completed
[09:45:23] [CRASH] No crash detected
[09:45:23] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[09:45:23] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[09:45:23] [GIPHY] SDK not available - using REST API fallback
[09:45:23] [BACKGROUND] Background fetch enabled
[09:45:23] [CLEANUP] No old timer messages to delete
[09:45:23] [SECURITY] Initial launch - within timeout (81.12095403671265s < 300.0s)
[09:45:23] [AUTH] Starting PIN authentication
[09:45:23] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU2
[09:45:23] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:45:23] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[09:45:23] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[09:45:23] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:45:23] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1,"removed_from_other_channels":0}
[09:45:23] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:45:23] [USER] ✅ User registered successfully
[09:45:23] [PUSH] User registration after token update: success
[09:45:23] [CLIENT_SIG] WebSocket opened
[09:45:23] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:45:23] [CLIENT_SIG] Connected! clientId=THgFf0RJo34_KKrh
[09:45:23] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=19191)...
[09:45:23] [CLIENT_SIG] Received 2 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:45:23] [CLIENT_SIG] - Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:45:23] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:45:23] [PRELOAD] No messages or parse error
[09:45:26] [PIN_AUTH] Correct PIN
[09:45:26] [SECURITY] Restored real session: ILUIWU2
[09:45:26] [SECURITY] Restored real session: ILUIWU2
[09:45:26] [SECURITY] Saved real session: ILUIWU2
[09:45:26] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[09:45:26] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:45:26] Documents Directory: /var/mobile/Containers/Data/Application/A47A5FFA-E0A7-4C62-BEA2-22D916EA9B09/Documents
[09:45:26] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[09:45:26] [THEME] Applying current theme
[09:45:26] [CHAT] Applied day theme (mode: day)
[09:45:26] [SECURITY] Saved real session: ILUIWU2
[09:45:26] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:45:26] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:45:26] [NETWORK] Network monitor started
[09:45:26] [NETWORK] Status changed: connected
[09:45:26] Did transition
[09:45:26] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU2
[09:45:26] [VIEWER] Screen lock enabled - normal idle behavior
[09:45:26] [QUERY] 🔍 Creating query connection for iOS slave: iosILUIWU2
[09:45:26] [VCC] ========== VideoConnectionClass INIT ==========
[09:45:26] [VCC] Session: iosILUIWU2, ViewIdx: 0, AgentId: nil
[09:45:26] [DATA AUDIO] ========== setupWebRTC() START ==========
[09:45:26] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[09:45:26] [DATA AUDIO] Creating encoder/decoder factories...
[09:45:26] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[09:45:26] [CODEC] Viewer selected encoder: AV1 (best quality)
[09:45:26] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[09:45:26] [DATA AUDIO] ✅ Factory created
[09:45:26] [DATA AUDIO] RTCAudioSession locked
[09:45:26] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[09:45:26] [DATA AUDIO] RTCAudioSession unlocked
[09:45:26] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[09:45: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"]
[09:45:26] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU2
[09:45:26] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:45:26] [QUERY] ✅ tempQueryConnection created for iosILUIWU2
[09:45:26] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[09:45:26] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[09:45:26] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[09:45:26] Did transition
[09:45:26] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[09:45:26] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:45:26] [CHUNK] Merged 978 reactions synchronously
[09:45:26] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[09:45:26] [GALLERY_DB] Loading ALL media messages for session: ILUIWU2
[09:45:26] [MIGRATION] Found 3 messages needing sender_name backfill
[09:45:26] [GALLERY_DB] Raw datesent for msg 4147: '2025-12-07 13:57:55'
[09:45:26] [GALLERY_DB] Raw datesent for msg 3275: '2025-12-04 12:57:27'
[09:45:26] [GALLERY_DB] Raw datesent for msg 3258: '2025-12-04 11:07:25'
[09:45:26] [GALLERY_DB] ✅ Loaded 8 media messages
[09:45:26] [GALLERY] Filtered 8 -> 4 (only with local thumbnails)
[09:45:26] [GALLERY] First 5 after sort (newest first):
[09:45:26] [GALLERY] 0: id=4147, date=2025-12-07 13:57:55, file=8f9a7578f1011fa7.png
[09:45:26] [GALLERY] 1: id=3275, date=2025-12-04 12:57:27, file=979ed1b3bb8031c5.heic
[09:45:26] [GALLERY] 2: id=3258, date=2025-12-04 11:07:25, file=46824a6556317ee6.mov
[09:45:26] [GALLERY] 3: id=2616, date=2025-11-29 16:12:09, file=92668b65c604182e.jpeg
[09:45:26] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[09:45:26] [USER] ✅ User registered successfully
[09:45:26] [USER] User registration successful
[09:45:26] [SERVER] Starting reconnect polling (5s interval)
[09:45:26] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[09:45:26] [ICONS] Offset applied: -14.6
[09:45:26] [ICONS] New left margin: 11.2, New right margin: 11.3
[09:45:26] [MIGRATION] Failed to parse user names response
[09:45:26] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[09:45:26] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19191, maxMemoryId=19191
[09:45:26] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19191
[09:45:26] [INCREMENTAL_SYNC] ✅ No new messages
[09:45:26] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[09:45:26] [UNSENT_RETRY] Checking for unsent messages...
[09:45:26] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[09:45:26] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[09:45:26] [UPLOAD_RECOVERY] Session: ILUIWU2
[09:45:26] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[09:45:26] [UPLOAD_RECOVERY] Checking recent media messages on server...
[09:45:26] [UPLOAD_RECOVERY] No recent media messages to check on server
[09:45:26] [PENDING_UPLOAD] Total pending upload messages: 0
[09:45:26] [UNSENT_RETRY] No unsent messages found
[09:45:27] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1818, 1819, 1820, 1821, 1822]
[09:45:27] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[09:45:27] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:45:27] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[09:45:27] [ICONS] Chat center: (31.2, 87.0)
[09:45:27] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[09:45:27] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[09:45:27] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[09:45:27] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[09:45:27] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[09:45:27] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[09:45:27] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[09:45:27] [ICONS] Screen width: 440.0
[09:45:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU2
[09:45:27] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:45:27] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:45:27] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU2
[09:45:27] new_session POST ok: token len=159
[09:45:27] HELLO → sent (fetched token, role=query)
[09:45:27] [SIG] hello_ok received for query connection - ready to query agents
[09:45:27] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:45:27] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:45:27] [SERVER] Stopped reconnect polling
[09:45:27] [SIG] agents_list received: []
[09:45:27] [SIG] agents_list received: []
[09:45:27] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:45:27] [READBY_ENRICH] Enriched 50 messages with readBy data
[09:45:27] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1818, 1819, 1820, 1821, 1822]
[09:45:27] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[09:45:27] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:45:31] [LIFECYCLE] App resigning active - cleared crash flag
[09:45:32] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[09:45:32] [SECURITY] Saved background timestamp
[09:45:32] [LIFECYCLE] App entering background - cleared crash flag
[09:45:32] [CLIENT_SIG] Disconnecting
[09:45:32] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[09:45:32] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:45:32] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU2, wsState=0
[09:45:32] [WS] Canceling WebSocket for query connection to iosILUIWU2
[09:45:32] In cleanupPeer
[09:45:32] In cleanupPeer
[09:45:32] [LIFECYCLE] WebRTC audio disabled
[09:45:32] [LIFECYCLE] AVAudioSession deactivated
[09:45:32] [LIFECYCLE] All connections stopped
[09:45:32] [SERVER] Stopped reconnect polling
[09:45:32] Will request stop of video 0
[09:45:32] Will request stop of video 0
[09:45:32] [CLIENT_SIG] WebSocket closed with code 1001
[09:45:32] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[09:45:32] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU2, closeCode=1001
[09:45:32] [WS] Query connection to iosILUIWU2 closed - cleaning up all agent connections and views
[09:45:32] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[09:45:32] [WS] Query connection failed - cleaning up all agent connections and views
[09:45: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/}
[09:45:32] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[09:45:32] [PIP] Removing 0 tracks from PiP for connection 0
[09:45:32] [PIP] ✅ All tracks removed for connection 0
[09:45:32] [PIP] Removing 0 tracks from PiP for connection 0
[09:45:32] [PIP] ✅ All tracks removed for connection 0
[09:45:32] [CLEANUP] ========================================
[09:45:32] [CLEANUP] Cleaning up all agent connections and views
[09:45:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:45:32] [CLEANUP] Stopped and removed 0 video connections
[09:45:32] [CLEANUP] Removed 0 video views
[09:45:32] [CLEANUP] Removed 0 feed scroll views
[09:45:32] [CLEANUP] Removed 0 status labels
[09:45:32] [CLEANUP] Reset agent query state
[09:45:32] [CLEANUP] Updated page indicator
[09:45:32] [CLEANUP] Rebuilt video layout
[09:45:32] [CLEANUP] ✅ All agent connections and views cleaned up
[09:45:32] [CLEANUP] ========================================
[09:45:32] [SERVER] Skipping reconnect polling - app is in background
[09:45:32] [WS] URLSession invalidated successfully
[09:45:32] [CLEANUP] ========================================
[09:45:32] [CLEANUP] Cleaning up all agent connections and views
[09:45:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:45:32] [CLEANUP] Stopped and removed 0 video connections
[09:45:32] [CLEANUP] Removed 0 video views
[09:45:32] [CLEANUP] Removed 0 feed scroll views
[09:45:32] [CLEANUP] Removed 0 status labels
[09:45:32] [CLEANUP] Reset agent query state
[09:45:32] [CLEANUP] Updated page indicator
[09:45:32] [CLEANUP] Rebuilt video layout
[09:45:32] [CLEANUP] ✅ All agent connections and views cleaned up
[09:45:32] [CLEANUP] ========================================
[09:45:32] [SERVER] Skipping reconnect polling - app is in background
[09:45:33] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU2
[09:45:33] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:45:34] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU2
[09:45:34] HELLO → sent (cached token, role=query)
[09:45:34] [SIG] hello_ok received for query connection - ready to query agents
[09:45:34] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:45:34] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:45:34] [SERVER] Stopped reconnect polling
[09:45:34] [SIG] agents_list received: []
[09:45:34] [SIG] agents_list received: []
[09:45:36] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:45:36] [CLIENT_SIG] WebSocket opened
[09:45:36] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:45:36] [CLIENT_SIG] Connected! clientId=cfnppcn8B6cFmmyX
[09:45:36] [CLIENT_SIG] Received 2 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:45:36] [CLIENT_SIG] - Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:45:36] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:45:44] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[09:45:44] [WS] Query connection error - cleaning up all agent connections and views
[09:45:44] [CLEANUP] ========================================
[09:45:44] [CLEANUP] Cleaning up all agent connections and views
[09:45:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[09:45:44] [CLEANUP] Stopped and removed 0 video connections
[09:45:44] [CLEANUP] Removed 0 video views
[09:45:44] [CLEANUP] Removed 0 feed scroll views
[09:45:44] [CLEANUP] Removed 0 status labels
[09:45:44] [CLEANUP] Reset agent query state
[09:45:44] [CLEANUP] Updated page indicator
[09:45:44] [CLEANUP] Rebuilt video layout
[09:45:44] [CLEANUP] ✅ All agent connections and views cleaned up
[09:45:44] [CLEANUP] ========================================
[09:45:44] [SERVER] Skipping reconnect polling - app is in background
[09:45:45] [CLIENT_SIG] Typing start from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:45:48] [CLIENT_SIG] Typing stop from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:45:50] [PUSH] Silent push received
[09:45:50] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:45:50 +0000, appState=2, message_id=19192
[09:45:50] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[]
[09:45:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:45:50 +0000
[09:45:50] [PUSH_TRACE] ⬇️ Processing embedded message_id=19192
[09:45:50] [PUSH_EMBED] 📩 Received embedded message: id=19192, type=0, sender=Lolo
[09:45:50] [PUSH_TRACE] ⬇️ Message details: text="Msg5...", datesent=2026-01-26 08:45:48
[09:45:50] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU2, currentSession=ILUIWU2
[09:45:50] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 19192
[09:45:50] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 19192
[09:45:50] [PUSH_EMBED] ✅ Saved message 19192 to local DB (sync)
[09:45:50] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 19192
[09:45:50] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 19192
[09:45:50] [PUSH_TRACE] 📦 INSIDE cache update queue for message 19192
[09:45:50] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[]
[09:45:50] [PUSH_EMBED] Created new cache with embedded message 19192
[09:45:50] [PUSH_TRACE] 📦 ✅ Created new cache with message 19192
[09:45:50] [PUSH_TRACE] 📦 EXITING cache update queue for message 19192
[09:45:50] [PUSH_EMBED] Fetching evolution data for message 19192 in background
[09:45:50] [PUSH_EMBED] ✅ Fully processed message 19192
[09:45:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 19192
[09:45:50] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[19192], handled=true
[09:45:50] [PUSH] Embedded message handled instantly from silent push
[09:45:50] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[09:45:50] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=19192
[09:45:50] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[09:45:50] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[09:45:50] [PUSH_TRACE] 👁️ Received message id=19192, text="Msg5..."
[09:45:50] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=3F6A8511-914A-4BE0-9540-3582F1C2DD43, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[09:45:50] [PUSH_TRACE] 👁️ BEFORE insert: 50 messages, first 5 IDs: [1818, 1819, 1820, 1821, 1822]
[09:45:50] [PUSH_TRACE] 👁️ Inserted message 19192 at index 0
[09:45:50] [PUSH_UI] Inserted message 19192 into UI (now 51 messages)
[09:45:50] [PUSH_TRACE] 👁️ AFTER insert: 51 messages, first 5 IDs: [19192, 1818, 1819, 1820, 1821]
[09:45:50] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[09:45:50] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[19192, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909]
[09:45:50] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 19192, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-01-26 08:45:48";
"file_name" = "";
message = Msg5;
"message_id" = 19192;
"message_type" = 0;
"prev_session_message_id" = 19191;
"sender_id" = "3F6A8511-914A-4BE0-9540-3582F1C2DD43";
"sender_name" = Lolo;
"session_id" = ILUIWU2;
timer = 0;
}, AnyHashable("session_id"): ILUIWU2]
[09:45:50] [PUSH_EMBED_VC] Message 19192 already in memory - skipping
[09:45:50] [PUSH] ⚡ Embedded message handled directly in ViewController
[09:45:50] [PUSH] Parsed message_id: 19192
[09:45:50] [PUSH] Parsed operation_type: 0
[09:45:50] [PUSH] Taking direct action: opType=0, messageId=19192
[09:45:50] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19192
[09:45:50] [PUSH] ⚡ Message 19192 already in memory - skipping duplicate notification entirely
[09:45:50] [PUSH_EMBED] Got evolution data for message 19192, saving to local DB
[09:45:50] [PUSH_EMBED] Saved evolution data for message 19192
[09:45:51] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[19192, 1818, 1819, 1820, 1821]
[09:45:51] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[09:45:51] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19192, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909]
[09:45:51] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19191 → 19192
[09:45:52] [CLIENT_SIG] Typing start from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:45:58] [CLIENT_SIG] Event received: type=0 messageId=19192
[09:45:58] [WS_EVENT] Received event: type=0, messageId=19192
[09:45:58] [WS_EVENT] 📨 New message notification (msgId=19192) - triggering incremental refresh, currentMsgCount=51
[09:45:58] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[09:45:58] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19192, maxMemoryId=19192
[09:45:58] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19192
[09:45:58] [INCREMENTAL_SYNC] ✅ No new messages
[09:45:58] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[09:45:58] [CLIENT_SIG] Typing stop from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:46:00] [PUSH] Silent push received
[09:46:00] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:46:00 +0000, appState=2, message_id=nil
[09:46:00] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=1, IDs=[19192]
[09:46:00] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:46:00 +0000
[09:46:00] [PUSH_EMBED] No embedded message_data in notification
[09:46:00] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[09:46:00] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[19192], handled=false
[09:46:00] [PUSH] No embedded data, pre-loading messages from server
[09:46:00] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:46:00] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:46:00] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU2
[09:46:00] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157]
[09:46:00] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=1, IDs=[19192]
[09:46:00] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[09:46:00] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157]
[09:46:00] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[09:46:00] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:46:00] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[19192, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909]
[09:46:00] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 19192, AnyHashable("aps"): {
"content-available" = 1;
}]
[09:46:00] [PUSH] Parsed message_id: 19192
[09:46:00] [PUSH] Parsed operation_type: 3
[09:46:00] [PUSH] Taking direct action: opType=3, messageId=19192
[09:46:00] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19192
[09:46:00] [CLIENT_SIG] Typing start from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:46:01] [PUSH] Silent push received
[09:46:01] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:46:01 +0000, appState=2, message_id=19193
[09:46:01] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157]
[09:46:01] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:46:01 +0000
[09:46:01] [PUSH_TRACE] ⬇️ Processing embedded message_id=19193
[09:46:01] [PUSH_EMBED] 📩 Received embedded message: id=19193, type=0, sender=Lolo
[09:46:01] [PUSH_TRACE] ⬇️ Message details: text="Msg6...", datesent=2026-01-26 08:45:59
[09:46:01] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU2, currentSession=ILUIWU2
[09:46:01] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 19193
[09:46:01] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 19193
[09:46:01] [PUSH_EMBED] ✅ Saved message 19193 to local DB (sync)
[09:46:01] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 19193
[09:46:01] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 19193
[09:46:01] [PUSH_TRACE] 📦 INSIDE cache update queue for message 19193
[09:46:01] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157]
[09:46:01] [PUSH_TRACE] 📦 ⚠️ Message 19193 already in cache, skipping insert
[09:46:01] [PUSH_TRACE] 📦 EXITING cache update queue for message 19193
[09:46:01] [PUSH_EMBED] Fetching evolution data for message 19193 in background
[09:46:01] [PUSH_EMBED] ✅ Fully processed message 19193
[09:46:01] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 19193
[09:46:01] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157], handled=true
[09:46:01] [PUSH] Embedded message handled instantly from silent push
[09:46:01] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[09:46:01] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=19193
[09:46:01] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[09:46:01] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[09:46:01] [PUSH_TRACE] 👁️ Received message id=19193, text="Msg6..."
[09:46:01] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=3F6A8511-914A-4BE0-9540-3582F1C2DD43, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[09:46:01] [PUSH_TRACE] 👁️ BEFORE insert: 51 messages, first 5 IDs: [19192, 1818, 1819, 1820, 1821]
[09:46:01] [PUSH_TRACE] 👁️ Inserted message 19193 at index 0
[09:46:01] [PUSH_UI] Inserted message 19193 into UI (now 52 messages)
[09:46:01] [PUSH_TRACE] 👁️ AFTER insert: 52 messages, first 5 IDs: [19193, 19192, 1818, 1819, 1820]
[09:46:01] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[09:46:01] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 52 msgs, IDs=[19193, 19192, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908]
[09:46:01] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): {
datesent = "2026-01-26 08:45:59";
"file_name" = "";
message = Msg6;
"message_id" = 19193;
"message_type" = 0;
"prev_session_message_id" = 19192;
"sender_id" = "3F6A8511-914A-4BE0-9540-3582F1C2DD43";
"sender_name" = Lolo;
"session_id" = ILUIWU2;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19193, AnyHashable("session_id"): ILUIWU2]
[09:46:01] [PUSH_EMBED_VC] Message 19193 already in memory - skipping
[09:46:01] [PUSH] ⚡ Embedded message handled directly in ViewController
[09:46:01] [PUSH] Parsed message_id: 19193
[09:46:01] [PUSH] Parsed operation_type: 0
[09:46:01] [PUSH] Taking direct action: opType=0, messageId=19193
[09:46:01] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19193
[09:46:01] [PUSH] ⚡ Message 19193 already in memory - skipping duplicate notification entirely
[09:46:01] [PUSH_EMBED] Got evolution data for message 19193, saving to local DB
[09:46:01] [PUSH_EMBED] Saved evolution data for message 19193
[09:46:01] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[19193, 19192, 1818, 1819, 1820]
[09:46:01] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[09:46:01] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [19193, 19192, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908]
[09:46:02] [CLIENT_SIG] Typing stop from: Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:46:09] [CLIENT_SIG] Event received: type=0 messageId=19193
[09:46:09] [WS_EVENT] Received event: type=0, messageId=19193
[09:46:09] [WS_EVENT] 📨 New message notification (msgId=19193) - triggering incremental refresh, currentMsgCount=52
[09:46:09] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[09:46:09] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19193, maxMemoryId=19193
[09:46:09] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19193
[09:46:09] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[09:46:09] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[19194]
[09:46:09] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 52 msgs, first 10 IDs=[19193, 19192, 1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908]
[09:46:09] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=19194
[09:46:09] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 53, first 10 IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:09] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[09:46:09] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=53
[09:46:09] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[1818, 1819, 1820, 1821, 1822]
[09:46:09] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages
[09:46:09] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:09] [CLIENT_SIG] Event received: type=3 messageId=19192
[09:46:09] [WS_EVENT] Received event: type=3, messageId=19192
[09:46:09] [WS_EVENT] Read receipt for message 19192 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:46:11] [PUSH] Silent push received
[09:46:11] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:46:11 +0000, appState=2, message_id=19194
[09:46:11] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157]
[09:46:11] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:46:11 +0000
[09:46:11] [PUSH_TRACE] ⬇️ Processing embedded message_id=19194
[09:46:11] [PUSH_EMBED] 📩 Received embedded message: id=19194, type=0, sender=Lolo
[09:46:11] [PUSH_TRACE] ⬇️ Message details: text="Msg7...", datesent=2026-01-26 08:46:02
[09:46:11] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU2, currentSession=ILUIWU2
[09:46:11] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 19194
[09:46:11] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 19194
[09:46:11] [PUSH_EMBED] ✅ Saved message 19194 to local DB (sync)
[09:46:11] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 19194
[09:46:11] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 19194
[09:46:11] [PUSH_TRACE] 📦 INSIDE cache update queue for message 19194
[09:46:11] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158, 17157]
[09:46:11] [PUSH_EMBED] Inserted message 19194 into existing cache (now 51 messages)
[09:46:11] [PUSH_TRACE] 📦 ✅ Inserted message 19194, cache now has IDs: [19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:11] [PUSH_TRACE] 📦 EXITING cache update queue for message 19194
[09:46:11] [PUSH_EMBED] Fetching evolution data for message 19194 in background
[09:46:11] [PUSH_EMBED] ✅ Fully processed message 19194
[09:46:11] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 19194
[09:46:11] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158], handled=true
[09:46:11] [PUSH] Embedded message handled instantly from silent push
[09:46:11] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[09:46:11] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=19194
[09:46:11] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[09:46:11] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[09:46:11] [PUSH_TRACE] 👁️ Received message id=19194, text="Msg7..."
[09:46:11] [PUSH_UI_BLACKOUT] blackoutView=false, senderId=3F6A8511-914A-4BE0-9540-3582F1C2DD43, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[09:46:11] [PUSH_UI] Message 19194 already in memory - skipping insert
[09:46:11] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[09:46:11] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 53 msgs, IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:11] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 19194, AnyHashable("message_data"): {
datesent = "2026-01-26 08:46:02";
"file_name" = "";
message = Msg7;
"message_id" = 19194;
"message_type" = 0;
"prev_session_message_id" = 19193;
"sender_id" = "3F6A8511-914A-4BE0-9540-3582F1C2DD43";
"sender_name" = Lolo;
"session_id" = ILUIWU2;
timer = 0;
}, AnyHashable("session_id"): ILUIWU2]
[09:46:11] [PUSH_EMBED_VC] Message 19194 already in memory - skipping
[09:46:11] [PUSH] ⚡ Embedded message handled directly in ViewController
[09:46:11] [PUSH] Parsed message_id: 19194
[09:46:11] [PUSH] Parsed operation_type: 0
[09:46:11] [PUSH] Taking direct action: opType=0, messageId=19194
[09:46:11] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=19194
[09:46:11] [PUSH] ⚡ Message 19194 already in memory - skipping duplicate notification entirely
[09:46:11] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19192 → 19193
[09:46:11] [PUSH_EMBED] Got evolution data for message 19194, saving to local DB
[09:46:11] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 19193 → 19194
[09:46:11] [PUSH_EMBED] Saved evolution data for message 19194
[09:46:18] [CLIENT_SIG] Event received: type=0 messageId=19194
[09:46:18] [WS_EVENT] Received event: type=0, messageId=19194
[09:46:18] [WS_EVENT] 📨 New message notification (msgId=19194) - triggering incremental refresh, currentMsgCount=53
[09:46:18] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=53
[09:46:18] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19194, maxMemoryId=19194
[09:46:18] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19194
[09:46:18] [INCREMENTAL_SYNC] ✅ No new messages
[09:46:18] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=53
[09:46:20] [PUSH] Silent push received
[09:46:20] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:46:20 +0000, appState=2, message_id=nil
[09:46:20] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:46:20 +0000
[09:46:20] [PUSH_EMBED] No embedded message_data in notification
[09:46:20] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[09:46:20] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158], handled=false
[09:46:20] [PUSH] No embedded data, pre-loading messages from server
[09:46:20] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:46:20] [PUSH] Silent push received
[09:46:20] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-01-26 08:46:20 +0000, appState=2, message_id=nil
[09:46:20] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-01-26 08:46:20 +0000
[09:46:20] [PUSH_EMBED] No embedded message_data in notification
[09:46:20] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[09:46:20] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158], handled=false
[09:46:20] [PUSH] No embedded data, pre-loading messages from server
[09:46:20] [PUSH_PRELOAD] Fetching messages for instant display cache
[09:46:20] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU2
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [1820]
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[1820]
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push)
[09:46:20] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU2
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [1820]
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[1820]
[09:46:20] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:20] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push)
[09:46:20] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:46:20] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 53 msgs, IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:20] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 19194, AnyHashable("session_id"): ILUIWU2]
[09:46:20] [PUSH] Parsed message_id: 19194
[09:46:20] [PUSH] Parsed operation_type: 3
[09:46:20] [PUSH] Taking direct action: opType=3, messageId=19194
[09:46:20] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19194
[09:46:20] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[09:46:21] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 53 msgs, IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:21] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU2, AnyHashable("message_id"): 19193]
[09:46:21] [PUSH] Parsed message_id: 19193
[09:46:21] [PUSH] Parsed operation_type: 3
[09:46:21] [PUSH] Taking direct action: opType=3, messageId=19193
[09:46:21] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=19193
[09:46:29] [CLIENT_SIG] Event received: type=3 messageId=19193
[09:46:29] [WS_EVENT] Received event: type=3, messageId=19193
[09:46:29] [WS_EVENT] Read receipt for message 19193 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:46:29] [CLIENT_SIG] Event received: type=3 messageId=19194
[09:46:29] [WS_EVENT] Received event: type=3, messageId=19194
[09:46:29] [WS_EVENT] Read receipt for message 19194 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:46:31] [SECURITY] Timeout check: elapsed=59.94228196144104s, timeout=300.0s
[09:46:31] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU2
[09:46:31] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:46:31] [LIFECYCLE] App entering foreground - restoring connections
[09:46:31] [PUSH_TRACE] 🔄 FOREGROUND: memory has 53 msgs, IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:31] [PUSH_TRACE] 🔄 FOREGROUND: cache has 51 msgs, valid=true, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:31] [UPLOAD_RETRY] No pending uploads to retry
[09:46:31] [LIFECYCLE] Merged 978 reactions from local DB
[09:46:31] [LIFECYCLE] WebRTC audio re-enabled
[09:46:31] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:46:31] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:46:31] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:46:31] [VIEWER] Reconnecting after background - querying agents
[09:46:31] [UNSENT_RETRY] Checking for unsent messages...
[09:46:31] [PENDING_UPLOAD] Total pending upload messages: 0
[09:46:31] [UNSENT_RETRY] No unsent messages found
[09:46:32] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[1818, 1819, 1820, 1821, 1822]
[09:46:32] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages
[09:46:32] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:32] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[09:46:32] [SECURITY] Within timeout - cleared background flag
[09:46:32] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:46:32] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 53 msgs, IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:32] [PUSH] handlePollEventsNotification userInfo: [:]
[09:46:32] [PUSH] No message_id in userInfo
[09:46:32] [PUSH] No operation_type in userInfo
[09:46:32] [FAST_REFRESH] Evolution disabled - performing incremental sync
[09:46:32] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[19194, 19193, 19192, 19191, 19190, 19189, 19188, 17161, 17159, 17158]
[09:46:32] [PUSH_TRACE] 📬 POLL: memory state: count=53, first 10 IDs=[1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:32] [FAST_REFRESH] Already have 53 messages - skipping local DB load
[09:46:32] [PUSH_TRACE] ⚠️ POLL: NOT loading from DB because allMessagesWithReadBy has 53 messages
[09:46:32] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[09:46:32] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[09:46:32] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=53
[09:46:32] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19194, maxMemoryId=19194
[09:46:32] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19194
[09:46:32] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[1818, 1819, 1820, 1821, 1822]
[09:46:32] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages
[09:46:32] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:32] [INCREMENTAL_SYNC] ✅ No new messages
[09:46:32] [FAST_REFRESH] Incremental sync complete - 53 messages
[09:46:32] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:46:32] [FOREGROUND] Enriched 0 messages with readBy data from server
[09:46:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[1818, 1819, 1820, 1821, 1822]
[09:46:33] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages
[09:46:33] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:33] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:46:33] [FAST_REFRESH] Enriched 53 messages with readBy data
[09:46:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[1818, 1819, 1820, 1821, 1822]
[09:46:33] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages
[09:46:33] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1818, 1819, 1820, 1821, 1822, 1823, 1891, 1908, 1909, 1911]
[09:46:53] [CRASH] No crash detected
[09:46:53] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[09:46:53] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[09:46:53] [GIPHY] SDK not available - using REST API fallback
[09:46:53] [BACKGROUND] Background fetch enabled
[09:46:53] [SECURITY] Initial launch - within timeout (81.50501608848572s < 300.0s)
[09:46:53] [AUTH] Starting PIN authentication
[09:46:53] [CLEANUP] No old timer messages to delete
[09:46:53] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU2
[09:46:53] [CLIENT_SIG] Connecting to session ILUIWU2 as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:46:53] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[09:46:53] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU2","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":1,"removed_from_other_channels":0}
[09:46:53] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:46:53] [USER] ✅ User registered successfully
[09:46:53] [PUSH] User registration after token update: success
[09:46:53] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[09:46:53] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[09:46:53] [CLIENT_SIG] WebSocket opened
[09:46:53] [CLIENT_SIG] HELLO sent as client for session ILUIWU2
[09:46:53] [CLIENT_SIG] Connected! clientId=JJ6aIwtEM9ctTwzw
[09:46:53] [CLIENT_SIG] Received 2 clients for session 'ILUIWU2' (my session: 'ILUIWU2')
[09:46:53] [CLIENT_SIG] - Lolo (3F6A8511-914A-4BE0-9540-3582F1C2DD43)
[09:46:53] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[09:46:53] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=19194)...
[09:46:53] [PRELOAD] No messages or parse error
[09:46:55] [PIN_AUTH] Correct PIN
[09:46:55] [SECURITY] Restored real session: ILUIWU2
[09:46:55] [SECURITY] Restored real session: ILUIWU2
[09:46:55] [SECURITY] Saved real session: ILUIWU2
[09:46:55] [SCENE] Launched directly to chat view with sessionId: ILUIWU2
[09:46:55] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[09:46:55] Documents Directory: /var/mobile/Containers/Data/Application/A47A5FFA-E0A7-4C62-BEA2-22D916EA9B09/Documents
[09:46:55] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[09:46:55] [THEME] Applying current theme
[09:46:55] [CHAT] Applied day theme (mode: day)
[09:46:55] [SECURITY] Saved real session: ILUIWU2
[09:46:55] [CLIENT_SIG] Setting up client signaling for session: ILUIWU2
[09:46:55] [CLIENT_SIG] Already connected/connecting to session ILUIWU2
[09:46:55] [NETWORK] Network monitor started
[09:46:55] [NETWORK] Status changed: connected
[09:46:55] Did transition
[09:46:55] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU2
[09:46:55] [VIEWER] Screen lock enabled - normal idle behavior
[09:46:55] [QUERY] 🔍 Creating query connection for iOS slave: iosILUIWU2
[09:46:55] [VCC] ========== VideoConnectionClass INIT ==========
[09:46:55] [VCC] Session: iosILUIWU2, ViewIdx: 0, AgentId: nil
[09:46:55] [DATA AUDIO] ========== setupWebRTC() START ==========
[09:46:55] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[09:46:55] [DATA AUDIO] Creating encoder/decoder factories...
[09:46:55] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[09:46:55] [CODEC] Viewer selected encoder: AV1 (best quality)
[09:46:55] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[09:46:55] [DATA AUDIO] ✅ Factory created
[09:46:55] [DATA AUDIO] RTCAudioSession locked
[09:46:55] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[09:46:55] [DATA AUDIO] RTCAudioSession unlocked
[09:46:55] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[09:46: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"]
[09:46:55] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU2
[09:46:55] [WS] Opening session at ws://crivello.dyndns.org:8081/
[09:46:55] [QUERY] ✅ tempQueryConnection created for iosILUIWU2
[09:46:55] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[09:46:55] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[09:46:55] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[09:46:55] Did transition
[09:46:55] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[09:46:55] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[09:46:55] [CHUNK] Merged 978 reactions synchronously
[09:46:55] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[09:46:55] [GALLERY_DB] Loading ALL media messages for session: ILUIWU2
[09:46:55] [MIGRATION] Found 3 messages needing sender_name backfill
[09:46:55] [GALLERY_DB] Raw datesent for msg 4147: '2025-12-07 13:57:55'
[09:46:55] [GALLERY_DB] Raw datesent for msg 3275: '2025-12-04 12:57:27'
[09:46:55] [GALLERY_DB] Raw datesent for msg 3258: '2025-12-04 11:07:25'
[09:46:55] [GALLERY_DB] ✅ Loaded 8 media messages
[09:46:55] [GALLERY] Filtered 8 -> 4 (only with local thumbnails)
[09:46:55] [GALLERY] First 5 after sort (newest first):
[09:46:55] [GALLERY] 0: id=4147, date=2025-12-07 13:57:55, file=8f9a7578f1011fa7.png
[09:46:55] [GALLERY] 1: id=3275, date=2025-12-04 12:57:27, file=979ed1b3bb8031c5.heic
[09:46:55] [GALLERY] 2: id=3258, date=2025-12-04 11:07:25, file=46824a6556317ee6.mov
[09:46:55] [GALLERY] 3: id=2616, date=2025-11-29 16:12:09, file=92668b65c604182e.jpeg
[09:46:55] [USER] ✅ User registered successfully
[09:46:55] [USER] User registration successful
[09:46:55] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[09:46:55] [SERVER] Starting reconnect polling (5s interval)
[09:46:55] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[09:46:55] [ICONS] Offset applied: -14.6
[09:46:55] [ICONS] New left margin: 11.2, New right margin: 11.3
[09:46:55] [MIGRATION] Failed to parse user names response
[09:46:55] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[09:46:55] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=19194, maxMemoryId=19194
[09:46:55] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 19194
[09:46:55] [INCREMENTAL_SYNC] ✅ No new messages
[09:46:55] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[09:46:55] [UNSENT_RETRY] Checking for unsent messages...
[09:46:55] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[09:46:55] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[09:46:55] [UPLOAD_RECOVERY] Session: ILUIWU2
[09:46:55] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[09:46:55] [UPLOAD_RECOVERY] Checking recent media messages on server...
[09:46:55] [UPLOAD_RECOVERY] No recent media messages to check on server
[09:46:55] [PENDING_UPLOAD] Total pending upload messages: 0
[09:46:55] [UNSENT_RETRY] No unsent messages found
[09:46:55] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1821, 1822, 1823, 1891, 1908]
[09:46:55] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[09:46:55] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1821, 1822, 1823, 1891, 1908, 1909, 1911, 1913, 2351, 2352]
[09:46:55] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[09:46:55] [ICONS] Chat center: (31.2, 87.0)
[09:46:55] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[09:46:55] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[09:46:55] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[09:46:55] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[09:46:55] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[09:46:55] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[09:46:55] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[09:46:55] [ICONS] Screen width: 440.0
[09:46:55] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU2
[09:46:55] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:46:55] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[09:46:55] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU2
[09:46:56] new_session POST ok: token len=159
[09:46:56] HELLO → sent (fetched token, role=query)
[09:46:56] [SIG] hello_ok received for query connection - ready to query agents
[09:46:56] [SIG] get_agents request sent for sessionId=ILUIWU2
[09:46:56] [SIG] get_agents request sent for sessionId=iosILUIWU2
[09:46:56] [SERVER] Stopped reconnect polling
[09:46:56] [SIG] agents_list received: []
[09:46:56] [SIG] agents_list received: []
[09:46:56] [COMBINED_FETCH] Loaded 10000 read receipts, 5 messages with reactions
[09:46:56] [READBY_ENRICH] Enriched 50 messages with readBy data
[09:46:56] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[1821, 1822, 1823, 1891, 1908]
[09:46:56] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[09:46:56] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [1821, 1822, 1823, 1891, 1908, 1909, 1911, 1913, 2351, 2352]
[09:46:58] [LOG] Long press on chat icon detected! Triggering log upload...
[09:46:58] [SCROLL_BTN] Showing button - 310pt from bottom > half 223pt