=== Eye Viewer Log Rotated at 2026-02-25 13:23:30 +0000 ===
- stun:stun.l.google.com:19302
- turn:crivello.dyndns.org:3478?transport=udp
- turn:crivello.dyndns.org:3478?transport=tcp
- turns:crivello.dyndns.org:5349?transport=tcp
"content-available" = 1;
}, AnyHashable("operation_type"): 1, AnyHashable("message_id"): 23067]
datesent = "2026-02-25 14:31:40";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23069;
"message_type" = 0;
"prev_session_message_id" = 23068;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23069, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23069]
"LocalWebSocketTask <E3AD897A-E514-4DAA-9243-1DC4AF36578D>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E3AD897A-E514-4DAA-9243-1DC4AF36578D>.<1>}
"LocalWebSocketTask <DAAFCB7C-3F96-4DA3-813E-59D2112835C3>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <DAAFCB7C-3F96-4DA3-813E-59D2112835C3>.<1>, NSLocalizedDescription=cancelled}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23070, AnyHashable("message_data"): {
datesent = "2026-02-25 14:32:21";
"file_name" = "";
message = "Done with my meetings\Ud83d\Ude0e\U2665\Ufe0f";
"message_id" = 23070;
"message_type" = 0;
"prev_session_message_id" = 23069;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23070, AnyHashable("message_data"): {
datesent = "2026-02-25 14:32:21";
"file_name" = "";
message = "Done with my meetings\Ud83d\Ude0e\U2665\Ufe0f";
"message_id" = 23070;
"message_type" = 0;
"prev_session_message_id" = 23069;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-02-25 14:32:21";
"file_name" = "";
message = "Done with my meetings\Ud83d\Ude0e\U2665\Ufe0f";
"message_id" = 23070;
"message_type" = 0;
"prev_session_message_id" = 23069;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23070, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"LocalWebSocketTask <C22E3FB7-245B-4A92-BC76-3231FD469F8F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C22E3FB7-245B-4A92-BC76-3231FD469F8F>.<1>, NSLocalizedDescription=cancelled}
datesent = "2026-02-25 14:33:47";
"file_name" = "";
message = "And Im totally messed";
"message_id" = 23073;
"message_type" = 0;
"prev_session_message_id" = 23072;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
datesent = "2026-02-25 14:33:47";
"file_name" = "";
message = "And Im totally messed";
"message_id" = 23073;
"message_type" = 0;
"prev_session_message_id" = 23072;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23072]
alert = {
body = "New message received";
title = Eye;
};
badge = 4;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23079, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-02-25 15:18:47";
"file_name" = "";
message = "Sorry for my silence this week, it was tough \Ud83e\Udd72\Ud83d\Ude2d";
"message_id" = 23079;
"message_type" = 0;
"prev_session_message_id" = 23078;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-02-25 15:18:47";
"file_name" = "";
message = "Sorry for my silence this week, it was tough \Ud83e\Udd72\Ud83d\Ude2d";
"message_id" = 23079;
"message_type" = 0;
"prev_session_message_id" = 23078;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 4;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23079]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23078, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23077]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 15:19:04";
"file_name" = "";
message = "But you were in my mind every second \U2665\Ufe0f";
"message_id" = 23080;
"message_type" = 0;
"prev_session_message_id" = 23079;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23080, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 15:19:04";
"file_name" = "";
message = "But you were in my mind every second \U2665\Ufe0f";
"message_id" = 23080;
"message_type" = 0;
"prev_session_message_id" = 23079;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23080, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-02-25 15:19:04";
"file_name" = "";
message = "But you were in my mind every second \U2665\Ufe0f";
"message_id" = 23080;
"message_type" = 0;
"prev_session_message_id" = 23079;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23080, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23081]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23082, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 15:19:12";
"file_name" = "";
message = "And you will be\U2763\Ufe0f";
"message_id" = 23082;
"message_type" = 0;
"prev_session_message_id" = 23081;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23082, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 15:19:12";
"file_name" = "";
message = "And you will be\U2763\Ufe0f";
"message_id" = 23082;
"message_type" = 0;
"prev_session_message_id" = 23081;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 15:19:12";
"file_name" = "";
message = "And you will be\U2763\Ufe0f";
"message_id" = 23082;
"message_type" = 0;
"prev_session_message_id" = 23081;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23082, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"LocalWebSocketTask <14C169D5-DD8E-4F0F-948D-30DFE5A0D5D2>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <14C169D5-DD8E-4F0F-948D-30DFE5A0D5D2>.<1>}
datesent = "2026-02-25 15:53:13";
"file_name" = "";
message = "Im not sure\Ud83e\Udd7a and next week will be worse, so Im not gonna able to disconnect 100%\Ud83d\Ude2d";
"message_id" = 23085;
"message_type" = 0;
"prev_session_message_id" = 23084;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23085, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23085]
"content-available" = 1;
}, AnyHashable("message_id"): 23087]
"content-available" = 1;
}]
"LocalWebSocketTask <6E33196B-F73A-4676-918B-F31E2213C131>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6E33196B-F73A-4676-918B-F31E2213C131>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23088, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 15:58:13";
"file_name" = "";
message = "Baby, Im always thinking about you, ALWAYS!";
"message_id" = 23088;
"message_type" = 0;
"prev_session_message_id" = 23087;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23088, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 15:58:30";
"file_name" = "";
message = "And it helping me a lot\Ud83e\Udee2\Ud83e\Udee2\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23089;
"message_type" = 0;
"prev_session_message_id" = 23088;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23089]
"LocalWebSocketTask <974DDBAC-89B7-48B1-B194-9DDCACD90F33>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <974DDBAC-89B7-48B1-B194-9DDCACD90F33>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 15:58:30";
"file_name" = "";
message = "And it helping me a lot\Ud83e\Udee2\Ud83e\Udee2\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23089;
"message_type" = 0;
"prev_session_message_id" = 23088;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <60CA51E7-8EE3-43B6-9F3D-A6B80E13F981>.<650>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 16:02:57";
"file_name" = "";
message = "You are my best baby in every situation in every way \U2763\Ufe0f";
"message_id" = 23092;
"message_type" = 0;
"prev_session_message_id" = 23091;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23092]
"content-available" = 1;
}, AnyHashable("message_id"): 23092, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23094, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23094]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23096]
datesent = "2026-02-25 16:09:10";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23097;
"message_type" = 0;
"prev_session_message_id" = 23096;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <E8FBC06B-5A81-495B-B1A8-49E26913EC24>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E8FBC06B-5A81-495B-B1A8-49E26913EC24>.<1>}
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23100, AnyHashable("message_data"): {
datesent = "2026-02-25 17:48:08";
"file_name" = "";
message = "Yes baby, around 7am";
"message_id" = 23100;
"message_type" = 0;
"prev_session_message_id" = 23099;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23100, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23100, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 17:48:08";
"file_name" = "";
message = "Yes baby, around 7am";
"message_id" = 23100;
"message_type" = 0;
"prev_session_message_id" = 23099;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23101, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23102, AnyHashable("message_data"): {
datesent = "2026-02-25 17:48:43";
"file_name" = "";
message = "But the flight will be around 9";
"message_id" = 23102;
"message_type" = 0;
"prev_session_message_id" = 23101;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
datesent = "2026-02-25 17:48:43";
"file_name" = "";
message = "But the flight will be around 9";
"message_id" = 23102;
"message_type" = 0;
"prev_session_message_id" = 23101;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23102, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23103, AnyHashable("message_data"): {
datesent = "2026-02-25 17:48:48";
"file_name" = "";
message = Noopee;
"message_id" = 23103;
"message_type" = 0;
"prev_session_message_id" = 23102;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23103, AnyHashable("message_data"): {
datesent = "2026-02-25 17:48:48";
"file_name" = "";
message = Noopee;
"message_id" = 23103;
"message_type" = 0;
"prev_session_message_id" = 23102;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23103, AnyHashable("message_data"): {
datesent = "2026-02-25 17:48:48";
"file_name" = "";
message = Noopee;
"message_id" = 23103;
"message_type" = 0;
"prev_session_message_id" = 23102;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 17:48:48";
"file_name" = "";
message = Noopee;
"message_id" = 23103;
"message_type" = 0;
"prev_session_message_id" = 23102;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
datesent = "2026-02-25 17:49:13";
"file_name" = "";
message = "At that time I\U2019ll leave from home\Ud83d\Ude0b";
"message_id" = 23106;
"message_type" = 0;
"prev_session_message_id" = 23105;
"replied_message" = "Yes baby, around 7am";
"replied_sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"replied_sender_name" = Esra;
"reply_to_id" = 23100;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23106, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23105, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:13";
"file_name" = "";
message = "At that time I\U2019ll leave from home\Ud83d\Ude0b";
"message_id" = 23106;
"message_type" = 0;
"prev_session_message_id" = 23105;
"replied_message" = "Yes baby, around 7am";
"replied_sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"replied_sender_name" = Esra;
"reply_to_id" = 23100;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23107, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:29";
"file_name" = "";
message = "Mmmmm\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23107;
"message_type" = 0;
"prev_session_message_id" = 23106;
"replied_message" = "I'll be in bed";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23105;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23107, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:29";
"file_name" = "";
message = "Mmmmm\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23107;
"message_type" = 0;
"prev_session_message_id" = 23106;
"replied_message" = "I'll be in bed";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23105;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
datesent = "2026-02-25 17:49:29";
"file_name" = "";
message = "Mmmmm\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23107;
"message_type" = 0;
"prev_session_message_id" = 23106;
"replied_message" = "I'll be in bed";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23105;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23107, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23108, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:39";
"file_name" = "";
message = "My babyyy";
"message_id" = 23109;
"message_type" = 0;
"prev_session_message_id" = 23108;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:39";
"file_name" = "";
message = "My babyyy";
"message_id" = 23109;
"message_type" = 0;
"prev_session_message_id" = 23108;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:39";
"file_name" = "";
message = "My babyyy";
"message_id" = 23109;
"message_type" = 0;
"prev_session_message_id" = 23108;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:47";
"file_name" = "";
message = "Soo sorry for you\Ud83d\Ude2d";
"message_id" = 23110;
"message_type" = 0;
"prev_session_message_id" = 23109;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23110, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:47";
"file_name" = "";
message = "Soo sorry for you\Ud83d\Ude2d";
"message_id" = 23110;
"message_type" = 0;
"prev_session_message_id" = 23109;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23110, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 17:49:47";
"file_name" = "";
message = "Soo sorry for you\Ud83d\Ude2d";
"message_id" = 23110;
"message_type" = 0;
"prev_session_message_id" = 23109;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23110, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <59E7EA5A-6F62-4C50-8FB5-B488FA9F8BFC>.<36>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
"LocalWebSocketTask <1CC8CFD9-7394-484B-B0A0-BC000BB3F30D>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <1CC8CFD9-7394-484B-B0A0-BC000BB3F30D>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-02-25 18:19:18";
"file_name" = "";
message = "Nooo, Im not sure should I feel lucky or not\Ud83e\Udd23";
"message_id" = 23113;
"message_type" = 0;
"prev_session_message_id" = 23112;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <6C5E6A5E-7C69-4982-A93D-C5B27F0E9142>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6C5E6A5E-7C69-4982-A93D-C5B27F0E9142>.<1>, NSLocalizedDescription=cancelled}
datesent = "2026-02-25 19:38:54";
"file_name" = "";
message = "This is how Im feeling these days\Ud83d\Ude2d\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23115;
"message_type" = 0;
"prev_session_message_id" = 23114;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 3;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23115, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23114, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23115, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23113, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-02-25 20:40:51";
"file_name" = "";
message = "Good night my love \U2763\Ufe0f sleep well \Ud83d\Udc8b";
"message_id" = 23118;
"message_type" = 0;
"prev_session_message_id" = 23117;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
datesent = "2026-02-26 03:06:18";
"file_name" = "";
message = "Good morning my loooooove\U2665\Ufe0f";
"message_id" = 23122;
"message_type" = 0;
"prev_session_message_id" = 23121;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23122, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23121, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23122, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3][12:25:38] [LOG] Pruned 2985 entries older than 3 hours
alert = {
body = "New message received";
title = Eye;
};
badge = 5;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23129, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23129, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <E147FFA2-3216-4B36-84C8-2D7FF59D0CAF>.<33>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, _kCFStreamErrorDomainKey=4} - keeping existing messages
"LocalWebSocketTask <68E5E5E3-F089-464C-9551-1B9669E5B888>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <68E5E5E3-F089-464C-9551-1B9669E5B888>.<1>, NSLocalizedDescription=cancelled}
"LocalDataTask <17EB7349-B38A-4315-A7BA-A56DD7C55FF4>.<73>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, _kCFStreamErrorDomainKey=4} - keeping existing messages
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23127]
"content-available" = 1;
}, AnyHashable("message_id"): 23125]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23126]
"content-available" = 1;
}, AnyHashable("message_id"): 23132, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23135]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23134]
"content-available" = 1;
}, AnyHashable("message_id"): 23133, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23136]
datesent = "2026-02-26 18:41:04";
"file_name" = "";
message = "Back to room, will take a shower now";
"message_id" = 23137;
"message_type" = 0;
"prev_session_message_id" = 23136;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23137, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23139, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23140, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23141, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23141, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23141]
datesent = "2026-02-26 18:41:50";
"file_name" = "";
message = "It was amazing!";
"message_id" = 23142;
"message_type" = 0;
"prev_session_message_id" = 23141;
"replied_message" = "Oh you skied already? Yeah ! Snow must be amazing.";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23139;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23142, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23143, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23144]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23145]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23147, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-26 18:42:44";
"file_name" = "";
message = "Tomorrow will be amazing too\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 23147;
"message_type" = 0;
"prev_session_message_id" = 23146;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23147]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-02-26 19:46:21";
"file_name" = "";
message = "Good night my love \U2665\Ufe0f";
"message_id" = 23151;
"message_type" = 0;
"prev_session_message_id" = 23150;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23151, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23150]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-02-27 03:36:32";
"file_name" = "";
message = "Good morning baby";
"message_id" = 23154;
"message_type" = 0;
"prev_session_message_id" = 23153;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23155,"event_type":2}
datesent = "2026-02-27 08:21:42";
"file_name" = "";
message = ILU;
"message_id" = 23162;
"message_type" = 0;
"prev_session_message_id" = 23161;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 3;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23162, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23162, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23161, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <6FC7F3AF-EBC1-4788-BF80-97AEA9534F2C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6FC7F3AF-EBC1-4788-BF80-97AEA9534F2C>.<1>}
"LocalWebSocketTask <EA9600AA-6971-4511-AF38-41D410E7FE5B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <EA9600AA-6971-4511-AF38-41D410E7FE5B>.<1>}[22:53:23] [LOG] Pruned 875 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("message_id"): 23165, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23167]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23166, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23168]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23169]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23173]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23171][08:26:13] [CRASH] No crash detected
"content-available" = 1;
}, AnyHashable("message_id"): 23180, AnyHashable("message_data"): {
datesent = "2026-02-28 04:28:13";
"file_name" = "";
message = "Any plans for the weekend?\Ud83e\Udd70";
"message_id" = 23180;
"message_type" = 0;
"prev_session_message_id" = 23179;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23180]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23187, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23187]
"content-available" = 1;
}, AnyHashable("message_id"): 23185, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <7A41D25B-395C-424F-91B8-10C8061CE9CA>.<2>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("message_id"): 23191, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23192, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23193, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23194, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23195, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <A96476A2-3A97-46B5-B020-93E6D2AE958A>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <A96476A2-3A97-46B5-B020-93E6D2AE958A>.<1>, NSLocalizedDescription=cancelled}
"LocalWebSocketTask <F81D8BE8-144B-41DA-B74C-1AEF285F0408>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <F81D8BE8-144B-41DA-B74C-1AEF285F0408>.<1>, NSLocalizedDescription=cancelled}
"LocalWebSocketTask <E9649501-AB77-4A42-B571-8F12A014C182>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E9649501-AB77-4A42-B571-8F12A014C182>.<1>, NSLocalizedDescription=cancelled}
"LocalWebSocketTask <7EECC3F8-3EF7-46AE-A819-65F8CB37A2E6>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7EECC3F8-3EF7-46AE-A819-65F8CB37A2E6>.<1>, NSLocalizedDescription=cancelled}
"LocalWebSocketTask <5CFE7981-CE7A-420D-9D9C-CF24F9868E63>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5CFE7981-CE7A-420D-9D9C-CF24F9868E63>.<1>, NSLocalizedDescription=cancelled}
"content-available" = 1;
}, AnyHashable("message_id"): 23207, AnyHashable("message_data"): {
datesent = "2026-02-28 20:30:12";
"file_name" = "";
message = "Good night, sleep well my love \U2764\Ufe0f";
"message_id" = 23207;
"message_type" = 0;
"prev_session_message_id" = 23206;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23202, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23204, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23206]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU][09:28:55] [LOG] Pruned 3063 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("message_id"): 23210, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23212]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"LocalWebSocketTask <660178EF-8862-444E-8B85-19355B346A94>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <660178EF-8862-444E-8B85-19355B346A94>.<1>}
"LocalWebSocketTask <6E130ECA-BF9A-4C16-969A-47BAA45D7303>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6E130ECA-BF9A-4C16-969A-47BAA45D7303>.<1>}
datesent = "2026-03-01 14:51:43";
"file_name" = "";
message = "My baby\U2764\Ufe0f";
"message_id" = 23225;
"message_type" = 0;
"prev_session_message_id" = 23224;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
datesent = "2026-03-01 14:51:55";
"file_name" = "";
message = "I\U2019ll do the same in 1hr\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\U2764\Ufe0f\U2764\Ufe0f";
"message_id" = 23226;
"message_type" = 0;
"prev_session_message_id" = 23225;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23227, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23228, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-01 14:52:13";
"file_name" = "";
message = "Back to hotel \Ud83e\Udd70";
"message_id" = 23230;
"message_type" = 0;
"prev_session_message_id" = 23229;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
datesent = "2026-03-01 14:52:21";
"file_name" = "";
message = "ILU\U2764\Ufe0f";
"message_id" = 23232;
"message_type" = 0;
"prev_session_message_id" = 23231;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 14:52:27";
"file_name" = "";
message = Yeeees;
"message_id" = 23233;
"message_type" = 0;
"prev_session_message_id" = 23232;
"replied_message" = "Which means, if you agree, a second 1-0";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23231;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23233, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-01 14:52:30";
"file_name" = "";
message = "\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d";
"message_id" = 23234;
"message_type" = 0;
"prev_session_message_id" = 23233;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23234, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23234]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23235, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23235, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"LocalWebSocketTask <B832CF78-48FD-4C93-9E8B-DBBB805FBC46>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <B832CF78-48FD-4C93-9E8B-DBBB805FBC46>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23211]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23239, AnyHashable("message_data"): {
datesent = "2026-03-01 16:04:40";
"file_name" = "";
message = "My loove";
"message_id" = 23239;
"message_type" = 0;
"prev_session_message_id" = 23238;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-01 16:04:46";
"file_name" = "";
message = "IMU2\U2763\Ufe0f";
"message_id" = 23240;
"message_type" = 0;
"prev_session_message_id" = 23239;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23240]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-01 16:04:46";
"file_name" = "";
message = "IMU2\U2763\Ufe0f";
"message_id" = 23240;
"message_type" = 0;
"prev_session_message_id" = 23239;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23240]
datesent = "2026-03-01 16:04:46";
"file_name" = "";
message = "IMU2\U2763\Ufe0f";
"message_id" = 23240;
"message_type" = 0;
"prev_session_message_id" = 23239;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23239, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23240, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:04:58";
"file_name" = "";
message = "Thank you baby";
"message_id" = 23241;
"message_type" = 0;
"prev_session_message_id" = 23240;
"replied_message" = "Even dressed in ski outfit, your body is amazing \Ud83e\Udd70";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23237;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23241]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:04:58";
"file_name" = "";
message = "Thank you baby";
"message_id" = 23241;
"message_type" = 0;
"prev_session_message_id" = 23240;
"replied_message" = "Even dressed in ski outfit, your body is amazing \Ud83e\Udd70";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23237;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23241]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23241, AnyHashable("message_data"): {
datesent = "2026-03-01 16:04:58";
"file_name" = "";
message = "Thank you baby";
"message_id" = 23241;
"message_type" = 0;
"prev_session_message_id" = 23240;
"replied_message" = "Even dressed in ski outfit, your body is amazing \Ud83e\Udd70";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23237;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23241]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23242, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23243]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:33";
"file_name" = "";
message = "I\U2019ll baby\Ud83d\Ude0d";
"message_id" = 23245;
"message_type" = 0;
"prev_session_message_id" = 23244;
"replied_message" = "Tell me when you go to shower, I will go at same time";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23242;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:33";
"file_name" = "";
message = "I\U2019ll baby\Ud83d\Ude0d";
"message_id" = 23245;
"message_type" = 0;
"prev_session_message_id" = 23244;
"replied_message" = "Tell me when you go to shower, I will go at same time";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23242;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:33";
"file_name" = "";
message = "I\U2019ll baby\Ud83d\Ude0d";
"message_id" = 23245;
"message_type" = 0;
"prev_session_message_id" = 23244;
"replied_message" = "Tell me when you go to shower, I will go at same time";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23242;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23245]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:45";
"file_name" = "";
message = "Nope, will have a dinner first";
"message_id" = 23246;
"message_type" = 0;
"prev_session_message_id" = 23245;
"replied_message" = "Unless already done ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23244;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23246, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:45";
"file_name" = "";
message = "Nope, will have a dinner first";
"message_id" = 23246;
"message_type" = 0;
"prev_session_message_id" = 23245;
"replied_message" = "Unless already done ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23244;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23246, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:45";
"file_name" = "";
message = "Nope, will have a dinner first";
"message_id" = 23246;
"message_type" = 0;
"prev_session_message_id" = 23245;
"replied_message" = "Unless already done ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23244;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23246, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23246]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23247, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:49";
"file_name" = "";
message = "Im soooo hungry";
"message_id" = 23247;
"message_type" = 0;
"prev_session_message_id" = 23246;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23247, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:49";
"file_name" = "";
message = "Im soooo hungry";
"message_id" = 23247;
"message_type" = 0;
"prev_session_message_id" = 23246;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23247, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 16:05:49";
"file_name" = "";
message = "Im soooo hungry";
"message_id" = 23247;
"message_type" = 0;
"prev_session_message_id" = 23246;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x0000000101f10304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396
9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48
"content-available" = 1;
}]
datesent = "2026-03-01 16:06:04";
"file_name" = "";
message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23249;
"message_type" = 0;
"prev_session_message_id" = 23248;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-01 16:06:04";
"file_name" = "";
message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23249;
"message_type" = 0;
"prev_session_message_id" = 23248;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x0000000101f09da0 $s3Eye11AppDelegateC22userNotificationCenter_11willPresent21withCompletionHandlerySo06UNUsereF0C_So14UNNotificationCySo0M19PresentationOptionsVctF + 4860
9 Eye.debug.dylib 0x0000000101f0bac8 $s3Eye11AppDelegateC22userNotificationCenter_11willPresent21withCompletionHandlerySo06UNUsereF0C_So14UNNotificationCySo0M19PresentationOptionsVctFTo + 164
datesent = "2026-03-01 16:06:04";
"file_name" = "";
message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23249;
"message_type" = 0;
"prev_session_message_id" = 23248;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 16:06:04";
"file_name" = "";
message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23249;
"message_type" = 0;
"prev_session_message_id" = 23248;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23249, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x0000000101f0ff00 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFyyScMYccfU2_ + 396
9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 16:06:04";
"file_name" = "";
message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23249;
"message_type" = 0;
"prev_session_message_id" = 23248;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23249, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23249]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x0000000101f10304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396
9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48
"content-available" = 1;
}, AnyHashable("message_id"): 23249]
datesent = "2026-03-01 16:06:08";
"file_name" = "";
message = "Always!";
"message_id" = 23250;
"message_type" = 0;
"prev_session_message_id" = 23249;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23250]
datesent = "2026-03-01 16:06:08";
"file_name" = "";
message = "Always!";
"message_id" = 23250;
"message_type" = 0;
"prev_session_message_id" = 23249;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23250]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23250, AnyHashable("message_data"): {
datesent = "2026-03-01 16:06:08";
"file_name" = "";
message = "Always!";
"message_id" = 23250;
"message_type" = 0;
"prev_session_message_id" = 23249;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23250]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x0000000101f10304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396
9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48
"content-available" = 1;
}, AnyHashable("message_id"): 23250]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
datesent = "2026-03-01 16:06:53";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23252;
"message_type" = 0;
"prev_session_message_id" = 23251;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-01 16:06:53";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23252;
"message_type" = 0;
"prev_session_message_id" = 23251;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"LocalWebSocketTask <0FD75BE7-21A1-4DEB-A0B9-7612D86D6C6D>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0FD75BE7-21A1-4DEB-A0B9-7612D86D6C6D>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-01 20:46:15";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23261;
"message_type" = 0;
"prev_session_message_id" = 23260;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23261]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23258, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23260]
0 Eye.debug.dylib 0x0000000100f7c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000100f865f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000100f868f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
datesent = "2026-03-01 21:02:38";
"file_name" = "";
message = "IWU sooo much! A lot!";
"message_id" = 23267;
"message_type" = 0;
"prev_session_message_id" = 23266;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23266]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23268, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-01 21:03:03";
"file_name" = "";
message = "Yes, you were with me\Ud83e\Udee6";
"message_id" = 23269;
"message_type" = 0;
"prev_session_message_id" = 23268;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23270, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-01 21:03:13";
"file_name" = "";
message = "You Touched my body";
"message_id" = 23271;
"message_type" = 0;
"prev_session_message_id" = 23270;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23271, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-01 21:03:17";
"file_name" = "";
message = "My sex";
"message_id" = 23272;
"message_type" = 0;
"prev_session_message_id" = 23271;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23272]
"content-available" = 1;
}]
"LocalDataTask <3BB13CC2-F420-4845-84FB-97C44D7FFD7A>.<120>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23271&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23271&mark_read=0, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 21:03:22";
"file_name" = "";
message = "Kissed me\Ud83e\Udee6";
"message_id" = 23274;
"message_type" = 0;
"prev_session_message_id" = 23273;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23274, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23275]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 21:03:56";
"file_name" = "";
message = "I really needed!";
"message_id" = 23277;
"message_type" = 0;
"prev_session_message_id" = 23276;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23277, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <1917ED1A-F983-4CA8-95B9-A6355AB30CF1>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <1917ED1A-F983-4CA8-95B9-A6355AB30CF1>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 21:04:04";
"file_name" = "";
message = "\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23278;
"message_type" = 0;
"prev_session_message_id" = 23277;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23278, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <4F214AD7-4439-4252-A351-07C49D905AB2>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4F214AD7-4439-4252-A351-07C49D905AB2>.<1>}
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-01 21:04:33";
"file_name" = "";
message = "Im living in the new norm so last time was with you";
"message_id" = 23279;
"message_type" = 0;
"prev_session_message_id" = 23278;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-01 21:04:34";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 23280;
"message_type" = 0;
"prev_session_message_id" = 23279;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23280]
datesent = "2026-03-01 21:04:42";
"file_name" = "";
message = "Soooo excited I am\Ud83e\Udee6";
"message_id" = 23281;
"message_type" = 0;
"prev_session_message_id" = 23280;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23281]
"LocalWebSocketTask <D7269BBD-5716-414B-B5B5-B51035ECA8FC>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <D7269BBD-5716-414B-B5B5-B51035ECA8FC>.<1>}
datesent = "2026-03-01 21:04:51";
"file_name" = "";
message = "Love you so much baby \Ud83e\Udee6";
"message_id" = 23282;
"message_type" = 0;
"prev_session_message_id" = 23281;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23282]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23281, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23280, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3][07:13:24] [LOG] Pruned 8607 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("message_id"): 23286]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23287]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23285, AnyHashable("operation_type"): 3]
0 Eye.debug.dylib 0x0000000102e985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000102ea25f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000102ea28f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23289, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-02 06:24:14";
"file_name" = "";
message = "Good morning baby\U2764\Ufe0f";
"message_id" = 23290;
"message_type" = 0;
"prev_session_message_id" = 23289;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23290]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23290]
datesent = "2026-03-02 06:24:41";
"file_name" = "";
message = "I miss him too\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23291;
"message_type" = 0;
"prev_session_message_id" = 23290;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23291, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23291, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
0 Eye.debug.dylib 0x00000001048985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001048a25f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001048a28f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
datesent = "2026-03-02 09:32:10";
"file_name" = "";
message = "Take off baby\Ud83d\Ude0d\U2764\Ufe0f";
"message_id" = 23293;
"message_type" = 0;
"prev_session_message_id" = 23292;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-02 09:32:10";
"file_name" = "";
message = "Take off baby\Ud83d\Ude0d\U2764\Ufe0f";
"message_id" = 23293;
"message_type" = 0;
"prev_session_message_id" = 23292;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23293, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-02 13:53:01";
"file_name" = "";
message = "Hi babyyy";
"message_id" = 23295;
"message_type" = 0;
"prev_session_message_id" = 23294;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23295]
"content-available" = 1;
}, AnyHashable("message_id"): 23295]
datesent = "2026-03-02 13:53:09";
"file_name" = "";
message = "Im home \Ud83d\Ude0d";
"message_id" = 23296;
"message_type" = 0;
"prev_session_message_id" = 23295;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23296, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-02 13:53:09";
"file_name" = "";
message = "Im home \Ud83d\Ude0d";
"message_id" = 23296;
"message_type" = 0;
"prev_session_message_id" = 23295;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23296, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-02 13:53:09";
"file_name" = "";
message = "Im home \Ud83d\Ude0d";
"message_id" = 23296;
"message_type" = 0;
"prev_session_message_id" = 23295;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23296, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-02 13:53:34";
"file_name" = "";
message = "How are you doing my love \U2764\Ufe0f";
"message_id" = 23299;
"message_type" = 0;
"prev_session_message_id" = 23298;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23299, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23299]
datesent = "2026-03-02 13:53:45";
"file_name" = "";
message = "Im sooo happy";
"message_id" = 23300;
"message_type" = 0;
"prev_session_message_id" = 23299;
"replied_message" = "Happy to be back or wished to have stayed longer ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23298;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23300, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-02 13:53:45";
"file_name" = "";
message = "Im sooo happy";
"message_id" = 23300;
"message_type" = 0;
"prev_session_message_id" = 23299;
"replied_message" = "Happy to be back or wished to have stayed longer ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23298;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23300, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23300, AnyHashable("message_data"): {
datesent = "2026-03-02 13:53:45";
"file_name" = "";
message = "Im sooo happy";
"message_id" = 23300;
"message_type" = 0;
"prev_session_message_id" = 23299;
"replied_message" = "Happy to be back or wished to have stayed longer ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23298;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-02 13:53:50";
"file_name" = "";
message = "Missed you a lot!";
"message_id" = 23301;
"message_type" = 0;
"prev_session_message_id" = 23300;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23301]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-02 13:53:50";
"file_name" = "";
message = "Missed you a lot!";
"message_id" = 23301;
"message_type" = 0;
"prev_session_message_id" = 23300;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23301]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-02 13:53:50";
"file_name" = "";
message = "Missed you a lot!";
"message_id" = 23301;
"message_type" = 0;
"prev_session_message_id" = 23300;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23301]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23301]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-02 14:00:01";
"file_name" = "";
message = "Yesss baby. 5pm here, almost end of the day for me\Ud83e\Udd13\Ud83e\Udd23";
"message_id" = 23304;
"message_type" = 0;
"prev_session_message_id" = 23303;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23304, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23304, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-02 14:00:14";
"file_name" = "";
message = "And office tomorrow \Ud83e\Udd7a";
"message_id" = 23305;
"message_type" = 0;
"prev_session_message_id" = 23304;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23305, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-02 14:00:14";
"file_name" = "";
message = "And office tomorrow \Ud83e\Udd7a";
"message_id" = 23305;
"message_type" = 0;
"prev_session_message_id" = 23304;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23305, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-02 14:00:14";
"file_name" = "";
message = "And office tomorrow \Ud83e\Udd7a";
"message_id" = 23305;
"message_type" = 0;
"prev_session_message_id" = 23304;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23305, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23306, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23308, AnyHashable("message_data"): {
datesent = "2026-03-02 14:00:54";
"file_name" = "";
message = "571 emails waiting for me\Ud83d\Ude2d";
"message_id" = 23308;
"message_type" = 0;
"prev_session_message_id" = 23307;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23308]
"LocalWebSocketTask <29E9E8AB-69BA-4222-B272-D35764D2643C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <29E9E8AB-69BA-4222-B272-D35764D2643C>.<1>}
datesent = "2026-03-02 14:00:54";
"file_name" = "";
message = "571 emails waiting for me\Ud83d\Ude2d";
"message_id" = 23308;
"message_type" = 0;
"prev_session_message_id" = 23307;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <AF1272DA-21B5-484E-8607-4B8436E9DEC1>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <AF1272DA-21B5-484E-8607-4B8436E9DEC1>.<1>, NSLocalizedDescription=The network connection was lost.}
alert = {
body = "";
title = StreamCam;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 2, AnyHashable("message_id"): 23312]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23311, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-03-02 14:54:44";
"file_name" = "";
message = "I need to come";
"message_id" = 23318;
"message_type" = 0;
"prev_session_message_id" = 23317;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23318, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 3;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-02 14:54:44";
"file_name" = "";
message = "I need to come";
"message_id" = 23318;
"message_type" = 0;
"prev_session_message_id" = 23317;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23318, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 3;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 3;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-02 14:54:44";
"file_name" = "";
message = "I need to come";
"message_id" = 23318;
"message_type" = 0;
"prev_session_message_id" = 23317;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23318, AnyHashable("operation_type"): 0]
datesent = "2026-03-02 14:54:41";
"file_name" = "";
message = INU;
"message_id" = 23317;
"message_type" = 0;
"prev_session_message_id" = 23316;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23318, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23319]
datesent = "2026-03-02 14:54:53";
"file_name" = "";
message = "I need your body";
"message_id" = 23320;
"message_type" = 0;
"prev_session_message_id" = 23319;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23320, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-02 14:54:53";
"file_name" = "";
message = "I need your body";
"message_id" = 23320;
"message_type" = 0;
"prev_session_message_id" = 23319;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23320, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-02 14:54:53";
"file_name" = "";
message = "I need your body";
"message_id" = 23320;
"message_type" = 0;
"prev_session_message_id" = 23319;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23320]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-02 14:55:05";
"file_name" = "";
message = "I need you, really\Ud83e\Udd72\Ud83e\Udd7a\Ud83e\Udee6";
"message_id" = 23322;
"message_type" = 0;
"prev_session_message_id" = 23321;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23322, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-02 14:55:05";
"file_name" = "";
message = "I need you, really\Ud83e\Udd72\Ud83e\Udd7a\Ud83e\Udee6";
"message_id" = 23322;
"message_type" = 0;
"prev_session_message_id" = 23321;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23322, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-02 14:55:05";
"file_name" = "";
message = "I need you, really\Ud83e\Udd72\Ud83e\Udd7a\Ud83e\Udee6";
"message_id" = 23322;
"message_type" = 0;
"prev_session_message_id" = 23321;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23322, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
0 Eye.debug.dylib 0x00000001048985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000104b45e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x0000000104b4cdb4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x0000000104a8c304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396
9 Eye.debug.dylib 0x00000001046900a8 $sIeg_IeyB_TR + 48
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x00000001048985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000104b45e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x0000000104b4cdb4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x0000000104a8c304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396
9 Eye.debug.dylib 0x00000001046900a8 $sIeg_IeyB_TR + 48
"content-available" = 1;
}]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x00000001032445fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x000000010324e5f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x000000010324e8f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23325]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <33BCBD10-6E9A-4E09-A87C-B6CC7384DA6B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <33BCBD10-6E9A-4E09-A87C-B6CC7384DA6B>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23324, AnyHashable("operation_type"): 0]
datesent = "2026-03-02 15:25:09";
"file_name" = "";
message = "Babyy, in couple of days I\U2019ll have my period. Before that please allow me to come please";
"message_id" = 23327;
"message_type" = 0;
"prev_session_message_id" = 23326;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <7A32F1A9-B048-46EF-A1B8-3B24C2618804>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7A32F1A9-B048-46EF-A1B8-3B24C2618804>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23327, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23328, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-02 15:25:12";
"file_name" = "";
message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83e\Udd7a";
"message_id" = 23328;
"message_type" = 0;
"prev_session_message_id" = 23327;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <3EF91DA6-AE98-47AE-B50F-CFBDA4274BAB>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3EF91DA6-AE98-47AE-B50F-CFBDA4274BAB>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-02 15:25:12";
"file_name" = "";
message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83e\Udd7a";
"message_id" = 23328;
"message_type" = 0;
"prev_session_message_id" = 23327;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23328, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23328]
0 Eye.debug.dylib 0x00000001032445fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001034f1e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232
2 Eye.debug.dylib 0x00000001034f8db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156
3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824
4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000
5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580
6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736
7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660
8 Eye.debug.dylib 0x000000010341258c $s3Eye11AppDelegateC11application_29didFinishLaunchingWithOptionsSbSo13UIApplicationC_SDySo0j6LaunchI3KeyaypGSgtFy10Foundation12NotificationVYbcfU0_ + 544
9 Eye.debug.dylib 0x00000001033d9d80 $s10Foundation12NotificationVIeghn_So14NSNotificationCIeyBhy_TR + 168
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23333,"event_type":2}
0 Eye.debug.dylib 0x00000001015e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001015ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001015eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("message_id"): 23316]
0 Eye.debug.dylib 0x00000001015e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001015ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001015eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001015e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001015ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001015eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23335]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-02 19:24:36";
"file_name" = "";
message = "Good night \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\U2764\Ufe0f";
"message_id" = 23339;
"message_type" = 0;
"prev_session_message_id" = 23338;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}][06:41:25] [LOG] Pruned 1433 entries older than 3 hours
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23344]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23346, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23345, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <FF798AD8-4099-47B0-B7C1-63FD1E54AB5C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <FF798AD8-4099-47B0-B7C1-63FD1E54AB5C>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23349, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x00000001008e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001008ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001008eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23356, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23356]
"content-available" = 1;
}, AnyHashable("message_id"): 23356, AnyHashable("operation_type"): 3]
0 Eye.debug.dylib 0x0000000103008798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000103012790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000103012a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x0000000103008798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000103012790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000103012a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23361]
0 Eye.debug.dylib 0x0000000103008798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000103012790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000103012a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"LocalWebSocketTask <3D3512EE-0D14-4422-BDF3-87A2DEBE4E57>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3D3512EE-0D14-4422-BDF3-87A2DEBE4E57>.<1>}
"LocalWebSocketTask <05D77F41-6FD1-4297-AEF9-19C02668F193>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <05D77F41-6FD1-4297-AEF9-19C02668F193>.<1>, NSLocalizedDescription=The network connection was lost.}
"LocalWebSocketTask <9518D030-7FB2-4124-A86C-EF13DA7E28AB>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9518D030-7FB2-4124-A86C-EF13DA7E28AB>.<1>}
"LocalWebSocketTask <DA44FB96-EA61-4FA3-8BE7-F1EE4B170F84>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <DA44FB96-EA61-4FA3-8BE7-F1EE4B170F84>.<1>}
"LocalWebSocketTask <E4A7DCD1-5C9C-45A0-B43B-6786A4BAC915>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E4A7DCD1-5C9C-45A0-B43B-6786A4BAC915>.<1>}
"LocalWebSocketTask <5E30488C-2272-49D0-97F7-B1D20D328254>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5E30488C-2272-49D0-97F7-B1D20D328254>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 3;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23367, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23367]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23367]
"content-available" = 1;
}, AnyHashable("message_id"): 23365, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-03 11:15:29";
"file_name" = "";
message = "INU, IMU, IWU and ILU";
"message_id" = 23371;
"message_type" = 0;
"prev_session_message_id" = 23370;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23371, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 13:01:50";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23374;
"message_type" = 0;
"prev_session_message_id" = 23373;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23374, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23374]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23375]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23376, AnyHashable("message_data"): {
datesent = "2026-03-03 13:02:26";
"file_name" = "";
message = "I read 650+ mails\Ud83d\Ude2d";
"message_id" = 23376;
"message_type" = 0;
"prev_session_message_id" = 23375;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <42EFD704-33B0-48A4-A00E-E8147F4B94FB>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <42EFD704-33B0-48A4-A00E-E8147F4B94FB>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23376]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:02:26";
"file_name" = "";
message = "I read 650+ mails\Ud83d\Ude2d";
"message_id" = 23376;
"message_type" = 0;
"prev_session_message_id" = 23375;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23377, AnyHashable("message_data"): {
datesent = "2026-03-03 13:02:37";
"file_name" = "";
message = "Joined more than 8 calls";
"message_id" = 23377;
"message_type" = 0;
"prev_session_message_id" = 23376;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23377, AnyHashable("message_data"): {
datesent = "2026-03-03 13:02:37";
"file_name" = "";
message = "Joined more than 8 calls";
"message_id" = 23377;
"message_type" = 0;
"prev_session_message_id" = 23376;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23377, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 13:02:37";
"file_name" = "";
message = "Joined more than 8 calls";
"message_id" = 23377;
"message_type" = 0;
"prev_session_message_id" = 23376;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23377, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:03:15";
"file_name" = "";
message = "My eyes are burning";
"message_id" = 23380;
"message_type" = 0;
"prev_session_message_id" = 23379;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23380, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:03:15";
"file_name" = "";
message = "My eyes are burning";
"message_id" = 23380;
"message_type" = 0;
"prev_session_message_id" = 23379;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23380, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 13:03:15";
"file_name" = "";
message = "My eyes are burning";
"message_id" = 23380;
"message_type" = 0;
"prev_session_message_id" = 23379;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23380, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23379, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
datesent = "2026-03-03 13:03:24";
"file_name" = "";
message = "How is your day going my love";
"message_id" = 23381;
"message_type" = 0;
"prev_session_message_id" = 23380;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 13:03:24";
"file_name" = "";
message = "How is your day going my love";
"message_id" = 23381;
"message_type" = 0;
"prev_session_message_id" = 23380;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 13:03:24";
"file_name" = "";
message = "How is your day going my love";
"message_id" = 23381;
"message_type" = 0;
"prev_session_message_id" = 23380;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23381, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 13:03:49";
"file_name" = "";
message = "And I don\U2019t have any room \Ud83d\Ude2d moved to the open office";
"message_id" = 23384;
"message_type" = 0;
"prev_session_message_id" = 23383;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"LocalWebSocketTask <E5781F1E-DA7A-44E4-88B7-4563F2BFFA7E>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E5781F1E-DA7A-44E4-88B7-4563F2BFFA7E>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:03:49";
"file_name" = "";
message = "And I don\U2019t have any room \Ud83d\Ude2d moved to the open office";
"message_id" = 23384;
"message_type" = 0;
"prev_session_message_id" = 23383;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23384, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23385]
datesent = "2026-03-03 13:04:15";
"file_name" = "";
message = "It\U2019s not easy for me to focus";
"message_id" = 23386;
"message_type" = 0;
"prev_session_message_id" = 23385;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 13:04:15";
"file_name" = "";
message = "It\U2019s not easy for me to focus";
"message_id" = 23386;
"message_type" = 0;
"prev_session_message_id" = 23385;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-03 13:04:15";
"file_name" = "";
message = "It\U2019s not easy for me to focus";
"message_id" = 23386;
"message_type" = 0;
"prev_session_message_id" = 23385;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23386]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23387, AnyHashable("message_data"): {
datesent = "2026-03-03 13:04:20";
"file_name" = "";
message = Nope;
"message_id" = 23387;
"message_type" = 0;
"prev_session_message_id" = 23386;
"replied_message" = "Oh noooo. Is anyone seeing your screen ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23385;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23387, AnyHashable("message_data"): {
datesent = "2026-03-03 13:04:20";
"file_name" = "";
message = Nope;
"message_id" = 23387;
"message_type" = 0;
"prev_session_message_id" = 23386;
"replied_message" = "Oh noooo. Is anyone seeing your screen ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23385;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:04:20";
"file_name" = "";
message = Nope;
"message_id" = 23387;
"message_type" = 0;
"prev_session_message_id" = 23386;
"replied_message" = "Oh noooo. Is anyone seeing your screen ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23385;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23387, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23387]
- stun:stun.l.google.com:19302
- turn:crivello.dyndns.org:3478?transport=udp
- turn:crivello.dyndns.org:3478?transport=tcp
- turns:crivello.dyndns.org:5349?transport=tcp
datesent = "2026-03-03 13:08:58";
"file_name" = "";
message = "Missed you a lot!!!!!";
"message_id" = 23388;
"message_type" = 0;
"prev_session_message_id" = 23387;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 13:08:58";
"file_name" = "";
message = "Missed you a lot!!!!!";
"message_id" = 23388;
"message_type" = 0;
"prev_session_message_id" = 23387;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:08:58";
"file_name" = "";
message = "Missed you a lot!!!!!";
"message_id" = 23388;
"message_type" = 0;
"prev_session_message_id" = 23387;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23388, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:08:58";
"file_name" = "";
message = "Missed you, your face, your body, your hands, your lips, your eyes";
"message_id" = 23389;
"message_type" = 0;
"prev_session_message_id" = 23388;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23389, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 13:08:58";
"file_name" = "";
message = "Missed you, your face, your body, your hands, your lips, your eyes";
"message_id" = 23389;
"message_type" = 0;
"prev_session_message_id" = 23388;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23389, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-03 13:08:58";
"file_name" = "";
message = "Missed you, your face, your body, your hands, your lips, your eyes";
"message_id" = 23389;
"message_type" = 0;
"prev_session_message_id" = 23388;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23389, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 13:09:03";
"file_name" = "";
message = "Hi babyyy\U2764\Ufe0f\U2764\Ufe0f\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d\Ud83d\Ude0d";
"message_id" = 23390;
"message_type" = 0;
"prev_session_message_id" = 23389;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-03 13:09:03";
"file_name" = "";
message = "Hi babyyy\U2764\Ufe0f\U2764\Ufe0f\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d\Ud83d\Ude0d";
"message_id" = 23390;
"message_type" = 0;
"prev_session_message_id" = 23389;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-03 13:09:03";
"file_name" = "";
message = "Hi babyyy\U2764\Ufe0f\U2764\Ufe0f\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d\Ud83d\Ude0d";
"message_id" = 23390;
"message_type" = 0;
"prev_session_message_id" = 23389;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23394, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23393, AnyHashable("session_id"): ILUIWU]
0 Eye.debug.dylib 0x0000000102bf0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000102bfa790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000102bfaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
datesent = "2026-03-03 14:42:27";
"file_name" = "";
message = Babyyyy;
"message_id" = 23397;
"message_type" = 0;
"prev_session_message_id" = 23396;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23397, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 14:42:27";
"file_name" = "";
message = Babyyyy;
"message_id" = 23397;
"message_type" = 0;
"prev_session_message_id" = 23396;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23397, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23397, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 14:42:27";
"file_name" = "";
message = Babyyyy;
"message_id" = 23397;
"message_type" = 0;
"prev_session_message_id" = 23396;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23397, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 14:42:44";
"file_name" = "";
message = "Finallyyy done for me\Ud83e\Udd13";
"message_id" = 23398;
"message_type" = 0;
"prev_session_message_id" = 23397;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23398, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 14:42:44";
"file_name" = "";
message = "Finallyyy done for me\Ud83e\Udd13";
"message_id" = 23398;
"message_type" = 0;
"prev_session_message_id" = 23397;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23398, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 14:42:44";
"file_name" = "";
message = "Finallyyy done for me\Ud83e\Udd13";
"message_id" = 23398;
"message_type" = 0;
"prev_session_message_id" = 23397;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 14:43:02";
"file_name" = "";
message = "Leaving from the office now";
"message_id" = 23399;
"message_type" = 0;
"prev_session_message_id" = 23398;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23399, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 14:43:02";
"file_name" = "";
message = "Leaving from the office now";
"message_id" = 23399;
"message_type" = 0;
"prev_session_message_id" = 23398;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23399, AnyHashable("operation_type"): 0]
datesent = "2026-03-03 14:43:02";
"file_name" = "";
message = "Leaving from the office now";
"message_id" = 23399;
"message_type" = 0;
"prev_session_message_id" = 23398;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23399, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23399, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23401, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23402]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23403, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 14:43:33";
"file_name" = "";
message = "Nooo baby dont be";
"message_id" = 23403;
"message_type" = 0;
"prev_session_message_id" = 23402;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <E740A1B1-2955-4D8E-9201-1432C5D36A30>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E740A1B1-2955-4D8E-9201-1432C5D36A30>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23403]
datesent = "2026-03-03 14:43:33";
"file_name" = "";
message = "Nooo baby dont be";
"message_id" = 23403;
"message_type" = 0;
"prev_session_message_id" = 23402;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23403, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 14:43:41";
"file_name" = "";
message = "You did already \Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23404;
"message_type" = 0;
"prev_session_message_id" = 23403;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23404, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 14:43:41";
"file_name" = "";
message = "You did already \Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23404;
"message_type" = 0;
"prev_session_message_id" = 23403;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23404, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 14:43:41";
"file_name" = "";
message = "You did already \Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23404;
"message_type" = 0;
"prev_session_message_id" = 23403;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23404]
"LocalDataTask <6B9A3AAD-2646-4E0F-8764-9AF11671803C>.<93>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=1}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23405]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23406, AnyHashable("message_data"): {
datesent = "2026-03-03 14:44:16";
"file_name" = "";
message = "Just seeing you brings me a lots of happiness, you can\U2019t imagine";
"message_id" = 23406;
"message_type" = 0;
"prev_session_message_id" = 23405;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <42EE5AB4-189D-4CC3-BAC3-967B0A0300D5>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <42EE5AB4-189D-4CC3-BAC3-967B0A0300D5>.<1>}
"content-available" = 1;
}]
datesent = "2026-03-03 14:44:16";
"file_name" = "";
message = "Just seeing you brings me a lots of happiness, you can\U2019t imagine";
"message_id" = 23406;
"message_type" = 0;
"prev_session_message_id" = 23405;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23406]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23407]
datesent = "2026-03-03 16:08:36";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23408;
"message_type" = 0;
"prev_session_message_id" = 23407;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23408]
datesent = "2026-03-03 16:08:36";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23408;
"message_type" = 0;
"prev_session_message_id" = 23407;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23408]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 16:08:36";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23408;
"message_type" = 0;
"prev_session_message_id" = 23407;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23408]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x0000000102bf0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000102bfa790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000102bfaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("message_id"): 23409]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23411, AnyHashable("message_data"): {
datesent = "2026-03-03 16:11:50";
"file_name" = "";
message = "Baby, I couldn\U2019t do it. Because I couldn\U2019t spend any minutes without you when you next to me";
"message_id" = 23411;
"message_type" = 0;
"prev_session_message_id" = 23410;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
datesent = "2026-03-03 16:56:53";
"file_name" = "";
message = Noooooooo;
"message_id" = 23414;
"message_type" = 0;
"prev_session_message_id" = 23413;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23414, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23414, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-03 16:56:53";
"file_name" = "";
message = Noooooooo;
"message_id" = 23414;
"message_type" = 0;
"prev_session_message_id" = 23413;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23414, AnyHashable("operation_type"): 3]
datesent = "2026-03-03 16:57:08";
"file_name" = "";
message = "I wouldnt waste any minutes";
"message_id" = 23415;
"message_type" = 0;
"prev_session_message_id" = 23414;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-03 16:57:08";
"file_name" = "";
message = "I wouldnt waste any minutes";
"message_id" = 23415;
"message_type" = 0;
"prev_session_message_id" = 23414;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:08";
"file_name" = "";
message = "I wouldnt waste any minutes";
"message_id" = 23415;
"message_type" = 0;
"prev_session_message_id" = 23414;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23415]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23417, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:17";
"file_name" = "";
message = "https://www.instagram.com/reel/DUlR4dpjgGO/?igsh=MWYzdzMzY2VjNnQyYg==";
"message_id" = 23417;
"message_type" = 0;
"prev_session_message_id" = 23416;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23417, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:17";
"file_name" = "";
message = "https://www.instagram.com/reel/DUlR4dpjgGO/?igsh=MWYzdzMzY2VjNnQyYg==";
"message_id" = 23417;
"message_type" = 0;
"prev_session_message_id" = 23416;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-03 16:57:17";
"file_name" = "";
message = "https://www.instagram.com/reel/DUlR4dpjgGO/?igsh=MWYzdzMzY2VjNnQyYg==";
"message_id" = 23417;
"message_type" = 0;
"prev_session_message_id" = 23416;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23417, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:19";
"file_name" = "";
message = "Me today";
"message_id" = 23418;
"message_type" = 0;
"prev_session_message_id" = 23417;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23418]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:19";
"file_name" = "";
message = "Me today";
"message_id" = 23418;
"message_type" = 0;
"prev_session_message_id" = 23417;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23418]
datesent = "2026-03-03 16:57:19";
"file_name" = "";
message = "Me today";
"message_id" = 23418;
"message_type" = 0;
"prev_session_message_id" = 23417;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23418]
datesent = "2026-03-03 16:57:23";
"file_name" = "";
message = "\Ud83d\Ude44\Ud83e\Udd23";
"message_id" = 23419;
"message_type" = 0;
"prev_session_message_id" = 23418;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 16:57:23";
"file_name" = "";
message = "\Ud83d\Ude44\Ud83e\Udd23";
"message_id" = 23419;
"message_type" = 0;
"prev_session_message_id" = 23418;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-03 16:57:23";
"file_name" = "";
message = "\Ud83d\Ude44\Ud83e\Udd23";
"message_id" = 23419;
"message_type" = 0;
"prev_session_message_id" = 23418;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23419, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-03-03 16:57:35";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23420;
"message_type" = 0;
"prev_session_message_id" = 23419;
"replied_message" = "Ha ha. Every experiment is good to try";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23416;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23420, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"LocalWebSocketTask <C806D6E6-D63F-4875-904A-7A18DDA15F6F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C806D6E6-D63F-4875-904A-7A18DDA15F6F>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23420, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:35";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23420;
"message_type" = 0;
"prev_session_message_id" = 23419;
"replied_message" = "Ha ha. Every experiment is good to try";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23416;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23421, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:45";
"file_name" = "";
message = "Prefer different ones \Ud83e\Udd2a\Ud83e\Udd2a";
"message_id" = 23421;
"message_type" = 0;
"prev_session_message_id" = 23420;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23421, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:45";
"file_name" = "";
message = "Prefer different ones \Ud83e\Udd2a\Ud83e\Udd2a";
"message_id" = 23421;
"message_type" = 0;
"prev_session_message_id" = 23420;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-03 16:57:45";
"file_name" = "";
message = "Prefer different ones \Ud83e\Udd2a\Ud83e\Udd2a";
"message_id" = 23421;
"message_type" = 0;
"prev_session_message_id" = 23420;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23421, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23421]
"content-available" = 1;
}, AnyHashable("message_id"): 23422, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23423,"event_type":2}
"LocalWebSocketTask <0A033EC3-6B02-4A85-8C48-9BF6CFC6C2B4>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0A033EC3-6B02-4A85-8C48-9BF6CFC6C2B4>.<1>}
"LocalWebSocketTask <6C0C45D9-D02D-47B4-AE48-75A5E80C9C1B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6C0C45D9-D02D-47B4-AE48-75A5E80C9C1B>.<1>}
"LocalWebSocketTask <B1F6A5EE-4446-425D-9E9A-8BE073D53066>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <B1F6A5EE-4446-425D-9E9A-8BE073D53066>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23425, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23427]
"content-available" = 1;
}, AnyHashable("message_id"): 23426, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <3C931C6D-265F-491F-B837-035E138BC224>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3C931C6D-265F-491F-B837-035E138BC224>.<1>}
"LocalWebSocketTask <9149A2F8-6EBE-4247-8C74-890FFB33AE20>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9149A2F8-6EBE-4247-8C74-890FFB33AE20>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"LocalWebSocketTask <584F2206-604F-4983-AA75-6DEEF0217466>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <584F2206-604F-4983-AA75-6DEEF0217466>.<1>}
datesent = "2026-03-03 19:07:35";
"file_name" = "";
message = "Whaaaaaat\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29";
"message_id" = 23431;
"message_type" = 0;
"prev_session_message_id" = 23430;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23431]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23431]
datesent = "2026-03-03 19:07:48";
"file_name" = "";
message = "Then same for me\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23432;
"message_type" = 0;
"prev_session_message_id" = 23431;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}]
"LocalWebSocketTask <FCA25E38-F198-4905-B59E-E01496425321>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <FCA25E38-F198-4905-B59E-E01496425321>.<1>}
"LocalWebSocketTask <BA17361A-FAFB-4E81-BC41-6CAFFD4FA3B8>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <BA17361A-FAFB-4E81-BC41-6CAFFD4FA3B8>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23432, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"LocalWebSocketTask <7547EE69-AB23-443D-80E6-08FC0B89D75C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7547EE69-AB23-443D-80E6-08FC0B89D75C>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 05:23:42";
"file_name" = "";
message = "Yess, feeling so tired \Ud83e\Udd72";
"message_id" = 23440;
"message_type" = 0;
"prev_session_message_id" = 23439;
"replied_message" = "Going early to bed these days \Ud83d\Ude0a";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23436;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23440]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23438]
"content-available" = 1;
}, AnyHashable("message_id"): 23440]
datesent = "2026-03-04 06:17:51";
"file_name" = "";
message = "Show me\Ud83e\Udee6";
"message_id" = 23452;
"message_type" = 0;
"prev_session_message_id" = 23451;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"LocalDataTask <60FDB9FF-F520-4976-AD4F-9D0F6ED04238>.<59>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23453]
datesent = "2026-03-04 06:22:18";
"file_name" = "";
message = Mmmmm;
"message_id" = 23454;
"message_type" = 0;
"prev_session_message_id" = 23453;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23454]
"LocalWebSocketTask <6A02D5F3-8BF7-436E-87F5-E44D0E204980>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6A02D5F3-8BF7-436E-87F5-E44D0E204980>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23454]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 06:22:29";
"file_name" = "";
message = "My babieesss\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23455;
"message_type" = 0;
"prev_session_message_id" = 23454;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23457]
datesent = "2026-03-04 06:22:58";
"file_name" = "";
message = "I\U2019ll baby.";
"message_id" = 23459;
"message_type" = 0;
"prev_session_message_id" = 23458;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23459, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <193A5C67-F47F-4676-BBBA-38FEBE23867A>.<107>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
"LocalDataTask <A110F6FF-6E70-4B69-A667-6C2EB7AA8CF4>.<110>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23459]
"content-available" = 1;
}]
datesent = "2026-03-04 06:23:13";
"file_name" = "";
message = "Starting to touching you now";
"message_id" = 23462;
"message_type" = 0;
"prev_session_message_id" = 23461;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23462, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"LocalDataTask <E640A84F-C184-43D5-B380-0D09C2F5655B>.<122>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23458&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23458&mark_read=0, _kCFStreamErrorDomainKey=4}
"LocalDataTask <CD7FD682-2B4E-4D07-9E95-1548C6B06A1A>.<121>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23459&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23459&mark_read=0, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 06:23:24";
"file_name" = "";
message = Slowly;
"message_id" = 23465;
"message_type" = 0;
"prev_session_message_id" = 23464;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23461, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23462, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23460, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 06:23:45";
"file_name" = "";
message = "One hand on your sex, one on your balls \Ud83e\Udee6";
"message_id" = 23466;
"message_type" = 0;
"prev_session_message_id" = 23465;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23466, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23467, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <1EAD8B3F-440F-4D7A-927B-66ADB46B64AC>.<173>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23467&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23467&mark_read=0, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23470, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23471, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 06:25:04";
"file_name" = "";
message = "I cant resist, have to suck him now\Ud83e\Udee6";
"message_id" = 23473;
"message_type" = 0;
"prev_session_message_id" = 23472;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 06:25:20";
"file_name" = "";
message = "Starting from top, slowly";
"message_id" = 23474;
"message_type" = 0;
"prev_session_message_id" = 23473;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23474, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 06:25:37";
"file_name" = "";
message = "Feel my mouth, my lips, my tongue \Ud83e\Udee6";
"message_id" = 23476;
"message_type" = 0;
"prev_session_message_id" = 23475;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23476, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23477]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 06:26:08";
"file_name" = "";
message = "Then we\U2019ll continue there\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83d\Ude0f";
"message_id" = 23479;
"message_type" = 0;
"prev_session_message_id" = 23478;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
"content-available" = 1;
}]
datesent = "2026-03-04 06:26:32";
"file_name" = "";
message = "One finger on anus, other on your sex.";
"message_id" = 23480;
"message_type" = 0;
"prev_session_message_id" = 23479;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 06:26:46";
"file_name" = "";
message = "I want you to stay at 10 for 5 mins";
"message_id" = 23481;
"message_type" = 0;
"prev_session_message_id" = 23480;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23481]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23482]
"content-available" = 1;
}]
datesent = "2026-03-04 06:27:30";
"file_name" = "";
message = "Tell me when is your last time?";
"message_id" = 23485;
"message_type" = 0;
"prev_session_message_id" = 23484;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23485]
"LocalWebSocketTask <C47938A5-FC5E-4A34-BCD3-D22E3A6BABA6>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C47938A5-FC5E-4A34-BCD3-D22E3A6BABA6>.<1>}
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23484, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23453, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 4]
datesent = "2026-03-04 07:35:40";
"file_name" = "";
message = "His birthday baby";
"message_id" = 23495;
"message_type" = 0;
"prev_session_message_id" = 23494;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23495, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 07:35:50";
"file_name" = "";
message = "I was so tired at ski trip\Ud83e\Udd23";
"message_id" = 23496;
"message_type" = 0;
"prev_session_message_id" = 23495;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23496, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 07:35:50";
"file_name" = "";
message = "I was so tired at ski trip\Ud83e\Udd23";
"message_id" = 23496;
"message_type" = 0;
"prev_session_message_id" = 23495;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23496, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23496, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 07:35:50";
"file_name" = "";
message = "I was so tired at ski trip\Ud83e\Udd23";
"message_id" = 23496;
"message_type" = 0;
"prev_session_message_id" = 23495;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
datesent = "2026-03-04 07:37:07";
"file_name" = "";
message = "But I dont remember when was the last time I came while making love with him";
"message_id" = 23499;
"message_type" = 0;
"prev_session_message_id" = 23498;
"replied_message" = "Your last time was for his birthday or it happened also at ski trip ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23494;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23499]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"LocalDataTask <E8A8B0FE-3A8B-4521-9358-025E1BD7A4E7>.<101>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
datesent = "2026-03-04 07:39:55";
"file_name" = "";
message = "Ha ha I knooooow\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83e\Udee6";
"message_id" = 23505;
"message_type" = 0;
"prev_session_message_id" = 23504;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 07:39:55";
"file_name" = "";
message = "Ha ha I knooooow\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83e\Udee6";
"message_id" = 23505;
"message_type" = 0;
"prev_session_message_id" = 23504;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23505, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"LocalDataTask <882C2733-1B12-40E4-A35E-11E1F60EB00F>.<116>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
datesent = "2026-03-04 07:56:47";
"file_name" = "";
message = "Between 5-6 (tr time) I\U2019ll be yours \Ud83e\Udee6";
"message_id" = 23511;
"message_type" = 0;
"prev_session_message_id" = 23510;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23511, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23511, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 07:56:47";
"file_name" = "";
message = "Between 5-6 (tr time) I\U2019ll be yours \Ud83e\Udee6";
"message_id" = 23511;
"message_type" = 0;
"prev_session_message_id" = 23510;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23510]
"LocalWebSocketTask <4E38326B-6DD8-40DE-A98C-CAC303FF2709>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4E38326B-6DD8-40DE-A98C-CAC303FF2709>.<1>}
"LocalDataTask <503821DC-44BD-47CE-925A-6FDDE7105A8A>.<159>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23512]
"LocalWebSocketTask <0A74D53A-FD1A-4D48-895F-78F0D758E7CB>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0A74D53A-FD1A-4D48-895F-78F0D758E7CB>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23513, AnyHashable("message_data"): {
datesent = "2026-03-04 09:03:53";
"file_name" = "";
message = "Ha ha\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23513;
"message_type" = 0;
"prev_session_message_id" = 23512;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 09:03:53";
"file_name" = "";
message = "Ha ha\Ud83d\Ude0f\Ud83d\Ude0f";
"message_id" = 23513;
"message_type" = 0;
"prev_session_message_id" = 23512;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 09:04:24";
"file_name" = "";
message = "Higher please \Ud83e\Udee2\Ud83e\Udee2\Ud83d\Ude0f";
"message_id" = 23514;
"message_type" = 0;
"prev_session_message_id" = 23513;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23514, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23514, AnyHashable("message_data"): {
datesent = "2026-03-04 09:04:24";
"file_name" = "";
message = "Higher please \Ud83e\Udee2\Ud83e\Udee2\Ud83d\Ude0f";
"message_id" = 23514;
"message_type" = 0;
"prev_session_message_id" = 23513;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <90AFF4DD-61AD-4B7B-AF68-77E41F1DF484>.<192>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23516, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 11:24:22";
"file_name" = "";
message = "Are you sureee? Because Im not sure how annoying person Im when my periods begin \Ud83e\Udd23";
"message_id" = 23516;
"message_type" = 0;
"prev_session_message_id" = 23515;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-03-04 11:24:22";
"file_name" = "";
message = "Are you sureee? Because Im not sure how annoying person Im when my periods begin \Ud83e\Udd23";
"message_id" = 23516;
"message_type" = 0;
"prev_session_message_id" = 23515;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23516]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23518, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23518]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <F1C98F2A-D934-465B-AB33-7F1A58BEB85B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <F1C98F2A-D934-465B-AB33-7F1A58BEB85B>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23521]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23521]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23521]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23521]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23521]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 11:44:19";
"file_name" = "";
message = "Esra? \Ud83d\Ude44\Ud83e\Udd23\Ud83e\Udd2a";
"message_id" = 23522;
"message_type" = 0;
"prev_session_message_id" = 23521;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23522, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 11:44:19";
"file_name" = "";
message = "Esra? \Ud83d\Ude44\Ud83e\Udd23\Ud83e\Udd2a";
"message_id" = 23522;
"message_type" = 0;
"prev_session_message_id" = 23521;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23522, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 11:44:19";
"file_name" = "";
message = "Esra? \Ud83d\Ude44\Ud83e\Udd23\Ud83e\Udd2a";
"message_id" = 23522;
"message_type" = 0;
"prev_session_message_id" = 23521;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23522]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("message_id"): 23523, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 11:44:46";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23";
"message_id" = 23524;
"message_type" = 0;
"prev_session_message_id" = 23523;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 11:44:46";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23";
"message_id" = 23524;
"message_type" = 0;
"prev_session_message_id" = 23523;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 11:44:46";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23";
"message_id" = 23524;
"message_type" = 0;
"prev_session_message_id" = 23523;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23526]
"LocalDataTask <64C453A1-C5B6-42BC-8093-FE56C8F6FF26>.<297>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=1}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 11:45:25";
"file_name" = "";
message = "\Ud83d\Ude43\Ud83d\Ude43\Ud83d\Ude43";
"message_id" = 23528;
"message_type" = 0;
"prev_session_message_id" = 23527;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23528]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23528, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <E8F52F10-11C0-4737-AB0C-A4B7719AFC04>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E8F52F10-11C0-4737-AB0C-A4B7719AFC04>.<1>}
datesent = "2026-03-04 11:54:24";
"file_name" = "";
message = "Better actually. The first 3 days are like a nightmare but the rest is ok.";
"message_id" = 23530;
"message_type" = 0;
"prev_session_message_id" = 23529;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23530, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 11:54:24";
"file_name" = "";
message = "Better actually. The first 3 days are like a nightmare but the rest is ok.";
"message_id" = 23530;
"message_type" = 0;
"prev_session_message_id" = 23529;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23530, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 12:33:15";
"file_name" = "";
message = "I had a call with natascia and she said we will work more closer\Ud83d\Ude36\U200d\Ud83c\Udf2b\Ufe0f";
"message_id" = 23534;
"message_type" = 0;
"prev_session_message_id" = 23533;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23534, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23534]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23535]
"LocalWebSocketTask <9E2D0B9D-A8CA-4977-B60A-6F10302AE065>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9E2D0B9D-A8CA-4977-B60A-6F10302AE065>.<1>}
datesent = "2026-03-04 13:00:48";
"file_name" = "";
message = "Not sure";
"message_id" = 23537;
"message_type" = 0;
"prev_session_message_id" = 23536;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23537, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23537, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 13:00:48";
"file_name" = "";
message = "Not sure";
"message_id" = 23537;
"message_type" = 0;
"prev_session_message_id" = 23536;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23537]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23538, AnyHashable("message_data"): {
datesent = "2026-03-04 13:00:59";
"file_name" = "";
message = "She started to complain already";
"message_id" = 23538;
"message_type" = 0;
"prev_session_message_id" = 23537;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23538, AnyHashable("message_data"): {
datesent = "2026-03-04 13:00:59";
"file_name" = "";
message = "She started to complain already";
"message_id" = 23538;
"message_type" = 0;
"prev_session_message_id" = 23537;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-03-04 13:00:59";
"file_name" = "";
message = "She started to complain already";
"message_id" = 23538;
"message_type" = 0;
"prev_session_message_id" = 23537;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23538, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23538]
datesent = "2026-03-04 13:01:10";
"file_name" = "";
message = "About Sasa, about process bla bla";
"message_id" = 23539;
"message_type" = 0;
"prev_session_message_id" = 23538;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 13:01:10";
"file_name" = "";
message = "About Sasa, about process bla bla";
"message_id" = 23539;
"message_type" = 0;
"prev_session_message_id" = 23538;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 13:01:10";
"file_name" = "";
message = "About Sasa, about process bla bla";
"message_id" = 23539;
"message_type" = 0;
"prev_session_message_id" = 23538;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23539, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23539, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23541, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 13:01:51";
"file_name" = "";
message = "\Ud83d\Ude12\Ud83d\Ude12";
"message_id" = 23541;
"message_type" = 0;
"prev_session_message_id" = 23540;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23541, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 13:01:51";
"file_name" = "";
message = "\Ud83d\Ude12\Ud83d\Ude12";
"message_id" = 23541;
"message_type" = 0;
"prev_session_message_id" = 23540;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 13:01:51";
"file_name" = "";
message = "\Ud83d\Ude12\Ud83d\Ude12";
"message_id" = 23541;
"message_type" = 0;
"prev_session_message_id" = 23540;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23541]
"content-available" = 1;
}, AnyHashable("message_id"): 23542, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <73D0410C-11DF-485C-BF4C-21906E271B2B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <73D0410C-11DF-485C-BF4C-21906E271B2B>.<1>, NSLocalizedDescription=The network connection was lost.}
datesent = "2026-03-04 13:02:32";
"file_name" = "";
message = "Noted baby\U2764\Ufe0f";
"message_id" = 23543;
"message_type" = 0;
"prev_session_message_id" = 23542;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23543]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23543]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23544]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23545]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
datesent = "2026-03-04 13:42:06";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d";
"message_id" = 23547;
"message_type" = 0;
"prev_session_message_id" = 23546;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23547, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 13:42:06";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d";
"message_id" = 23547;
"message_type" = 0;
"prev_session_message_id" = 23546;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23547]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23546, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <53F1D24B-6750-4BB1-83AC-7E903F4F2294>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <53F1D24B-6750-4BB1-83AC-7E903F4F2294>.<1>}
datesent = "2026-03-04 13:42:23";
"file_name" = "";
message = "You look tired?";
"message_id" = 23548;
"message_type" = 0;
"prev_session_message_id" = 23547;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23548, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 13:42:23";
"file_name" = "";
message = "You look tired?";
"message_id" = 23548;
"message_type" = 0;
"prev_session_message_id" = 23547;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23549, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <CAC8EC82-C191-430A-8548-20D9497F9F1D>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <CAC8EC82-C191-430A-8548-20D9497F9F1D>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23551, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23551, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23551, AnyHashable("operation_type"): 3]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23556, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 13:49:42";
"file_name" = "";
message = "Ha ha. But I\U2019ll buy a rayban meta from New York, so you\U2019ll be able to see moreeee frame from my life";
"message_id" = 23556;
"message_type" = 0;
"prev_session_message_id" = 23555;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
datesent = "2026-03-04 13:50:28";
"file_name" = "";
message = "\U2764\Ufe0f\Ud83e\Udd70";
"message_id" = 23558;
"message_type" = 0;
"prev_session_message_id" = 23557;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23558]
datesent = "2026-03-04 13:50:28";
"file_name" = "";
message = "\U2764\Ufe0f\Ud83e\Udd70";
"message_id" = 23558;
"message_type" = 0;
"prev_session_message_id" = 23557;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23558, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
datesent = "2026-03-04 13:50:46";
"file_name" = "";
message = "I want you to be part of my life";
"message_id" = 23560;
"message_type" = 0;
"prev_session_message_id" = 23559;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23560, AnyHashable("operation_type"): 0]
datesent = "2026-03-04 13:50:46";
"file_name" = "";
message = "I want you to be part of my life";
"message_id" = 23560;
"message_type" = 0;
"prev_session_message_id" = 23559;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23560, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23560, AnyHashable("message_data"): {
datesent = "2026-03-04 13:50:46";
"file_name" = "";
message = "I want you to be part of my life";
"message_id" = 23560;
"message_type" = 0;
"prev_session_message_id" = 23559;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23560, AnyHashable("message_data"): {
datesent = "2026-03-04 13:50:46";
"file_name" = "";
message = "I want you to be part of my life";
"message_id" = 23560;
"message_type" = 0;
"prev_session_message_id" = 23559;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23561, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23562, AnyHashable("message_data"): {
datesent = "2026-03-04 13:51:32";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23 I can ask but Im sure he won\U2019t be happy about that question \Ud83e\Udd23";
"message_id" = 23562;
"message_type" = 0;
"prev_session_message_id" = 23561;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <BBBCEA85-006D-401C-A17C-99B07FEFFD16>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <BBBCEA85-006D-401C-A17C-99B07FEFFD16>.<1>}
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23562, AnyHashable("message_data"): {
datesent = "2026-03-04 13:51:32";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23 I can ask but Im sure he won\U2019t be happy about that question \Ud83e\Udd23";
"message_id" = 23562;
"message_type" = 0;
"prev_session_message_id" = 23561;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"LocalDataTask <1C7FB927-CC4A-4400-8B56-2BF6E8EAFDB9>.<613>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23565, AnyHashable("message_data"): {
datesent = "2026-03-04 13:59:44";
"file_name" = "";
message = "Baby, he will certainly know \Ud83d\Ude03\Ud83e\Udd2d";
"message_id" = 23565;
"message_type" = 0;
"prev_session_message_id" = 23564;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <1CD5F7CD-2359-4EAD-9C46-93D3E1B425E7>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <1CD5F7CD-2359-4EAD-9C46-93D3E1B425E7>.<1>}
datesent = "2026-03-04 13:59:44";
"file_name" = "";
message = "Baby, he will certainly know \Ud83d\Ude03\Ud83e\Udd2d";
"message_id" = 23565;
"message_type" = 0;
"prev_session_message_id" = 23564;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23565, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23565, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23565]
"content-available" = 1;
}, AnyHashable("message_id"): 23566, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <BCAF037E-2B8E-4E28-8072-8304610B8B44>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <BCAF037E-2B8E-4E28-8072-8304610B8B44>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:00:18";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23567;
"message_type" = 0;
"prev_session_message_id" = 23566;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23567]
datesent = "2026-03-04 14:00:18";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23567;
"message_type" = 0;
"prev_session_message_id" = 23566;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:00:33";
"file_name" = "";
message = "Im free now\Ud83d\Ude0f";
"message_id" = 23568;
"message_type" = 0;
"prev_session_message_id" = 23567;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23568]
datesent = "2026-03-04 14:00:33";
"file_name" = "";
message = "Im free now\Ud83d\Ude0f";
"message_id" = 23568;
"message_type" = 0;
"prev_session_message_id" = 23567;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23568]
datesent = "2026-03-04 14:00:33";
"file_name" = "";
message = "Im free now\Ud83d\Ude0f";
"message_id" = 23568;
"message_type" = 0;
"prev_session_message_id" = 23567;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23568]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
datesent = "2026-03-04 14:01:28";
"file_name" = "";
message = "There are some options and I will try then decide. But not so much high";
"message_id" = 23570;
"message_type" = 0;
"prev_session_message_id" = 23569;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23570]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:01:28";
"file_name" = "";
message = "There are some options and I will try then decide. But not so much high";
"message_id" = 23570;
"message_type" = 0;
"prev_session_message_id" = 23569;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
datesent = "2026-03-04 14:03:53";
"file_name" = "";
message = "Go to bathroom baby";
"message_id" = 23571;
"message_type" = 0;
"prev_session_message_id" = 23570;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23571, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:03:53";
"file_name" = "";
message = "Go to bathroom baby";
"message_id" = 23571;
"message_type" = 0;
"prev_session_message_id" = 23570;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23571, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:03:53";
"file_name" = "";
message = "Go to bathroom baby";
"message_id" = 23571;
"message_type" = 0;
"prev_session_message_id" = 23570;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23571, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23571, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 14:04:11";
"file_name" = "";
message = "For 1-0 ?";
"message_id" = 23572;
"message_type" = 0;
"prev_session_message_id" = 23571;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:04:11";
"file_name" = "";
message = "For 1-0 ?";
"message_id" = 23572;
"message_type" = 0;
"prev_session_message_id" = 23571;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:04:11";
"file_name" = "";
message = "For 1-0 ?";
"message_id" = 23572;
"message_type" = 0;
"prev_session_message_id" = 23571;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23572]
"content-available" = 1;
}, AnyHashable("message_id"): 23572, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23573, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23574, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23575, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23576, AnyHashable("message_data"): {
datesent = "2026-03-04 14:05:17";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 23576;
"message_type" = 0;
"prev_session_message_id" = 23575;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23576, AnyHashable("message_data"): {
datesent = "2026-03-04 14:05:17";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 23576;
"message_type" = 0;
"prev_session_message_id" = 23575;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:05:17";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 23576;
"message_type" = 0;
"prev_session_message_id" = 23575;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23576]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23577, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:05:49";
"file_name" = "";
message = "Starting in 1 mins";
"message_id" = 23577;
"message_type" = 0;
"prev_session_message_id" = 23576;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23577, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:05:49";
"file_name" = "";
message = "Starting in 1 mins";
"message_id" = 23577;
"message_type" = 0;
"prev_session_message_id" = 23576;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-03-04 14:05:49";
"file_name" = "";
message = "Starting in 1 mins";
"message_id" = 23577;
"message_type" = 0;
"prev_session_message_id" = 23576;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23578]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23579, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:07:28";
"file_name" = "";
message = "Yes sir";
"message_id" = 23580;
"message_type" = 0;
"prev_session_message_id" = 23579;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23580]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:07:28";
"file_name" = "";
message = "Yes sir";
"message_id" = 23580;
"message_type" = 0;
"prev_session_message_id" = 23579;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23580]
datesent = "2026-03-04 14:07:28";
"file_name" = "";
message = "Yes sir";
"message_id" = 23580;
"message_type" = 0;
"prev_session_message_id" = 23579;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23580, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23582, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23584, AnyHashable("message_data"): {
datesent = "2026-03-04 14:10:13";
"file_name" = "";
message = "I like that view\Ud83e\Udd2a";
"message_id" = 23584;
"message_type" = 0;
"prev_session_message_id" = 23583;
"replied_message" = "Your front camera is facing your sex, from bottom";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23582;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23584, AnyHashable("message_data"): {
datesent = "2026-03-04 14:10:13";
"file_name" = "";
message = "I like that view\Ud83e\Udd2a";
"message_id" = 23584;
"message_type" = 0;
"prev_session_message_id" = 23583;
"replied_message" = "Your front camera is facing your sex, from bottom";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23582;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:10:13";
"file_name" = "";
message = "I like that view\Ud83e\Udd2a";
"message_id" = 23584;
"message_type" = 0;
"prev_session_message_id" = 23583;
"replied_message" = "Your front camera is facing your sex, from bottom";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23582;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23584]
"content-available" = 1;
}]
"LocalWebSocketTask <27A50F28-9FDF-4625-A5E7-3CFC19C32FDD>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <27A50F28-9FDF-4625-A5E7-3CFC19C32FDD>.<1>, NSLocalizedDescription=cancelled}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23585]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23586, AnyHashable("message_data"): {
datesent = "2026-03-04 14:10:34";
"file_name" = "";
message = "Right or left hand?";
"message_id" = 23586;
"message_type" = 0;
"prev_session_message_id" = 23585;
"replied_message" = "Now starting slowly touching. Only one finger. As I'm seeing the screen, your finger should now hide too much your sex";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23583;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:10:45";
"file_name" = "";
message = "And which finger?";
"message_id" = 23587;
"message_type" = 0;
"prev_session_message_id" = 23586;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23587]
"LocalWebSocketTask <68DE2064-D5F1-4BEB-9919-A7EC91119F8F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <68DE2064-D5F1-4BEB-9919-A7EC91119F8F>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:10:58";
"file_name" = "";
message = "You need to tell me every detail";
"message_id" = 23588;
"message_type" = 0;
"prev_session_message_id" = 23587;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <BB58B966-602A-4F47-96AD-7934B2DCF477>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <BB58B966-602A-4F47-96AD-7934B2DCF477>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23589, AnyHashable("message_data"): {
datesent = "2026-03-04 14:11:00";
"file_name" = "";
message = "\Ud83e\Udd2d";
"message_id" = 23589;
"message_type" = 0;
"prev_session_message_id" = 23588;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23588]
"content-available" = 1;
}, AnyHashable("message_id"): 23589, AnyHashable("session_id"): ILUIWU]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23595,"event_type":2}
"LocalWebSocketTask <109882DD-F19A-4F38-981C-8459423D1F4F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <109882DD-F19A-4F38-981C-8459423D1F4F>.<1>}
datesent = "2026-03-04 14:16:57";
"file_name" = "";
message = "So willing";
"message_id" = 23599;
"message_type" = 0;
"prev_session_message_id" = 23598;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23599]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23599]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:17:07";
"file_name" = "";
message = "Want you sooo much!";
"message_id" = 23600;
"message_type" = 0;
"prev_session_message_id" = 23599;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:17:07";
"file_name" = "";
message = "Want you sooo much!";
"message_id" = 23600;
"message_type" = 0;
"prev_session_message_id" = 23599;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:17:07";
"file_name" = "";
message = "Want you sooo much!";
"message_id" = 23600;
"message_type" = 0;
"prev_session_message_id" = 23599;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23601, AnyHashable("message_data"): {
datesent = "2026-03-04 14:17:29";
"file_name" = "";
message = "Wet\Ud83e\Udee6";
"message_id" = 23601;
"message_type" = 0;
"prev_session_message_id" = 23600;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23601, AnyHashable("message_data"): {
datesent = "2026-03-04 14:17:29";
"file_name" = "";
message = "Wet\Ud83e\Udee6";
"message_id" = 23601;
"message_type" = 0;
"prev_session_message_id" = 23600;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
datesent = "2026-03-04 14:17:29";
"file_name" = "";
message = "Wet\Ud83e\Udee6";
"message_id" = 23601;
"message_type" = 0;
"prev_session_message_id" = 23600;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23601, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23602]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23603, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:17:51";
"file_name" = "";
message = Mmm;
"message_id" = 23603;
"message_type" = 0;
"prev_session_message_id" = 23602;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <CA7EE50E-55CC-41A6-83AE-5C82BE2D2595>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <CA7EE50E-55CC-41A6-83AE-5C82BE2D2595>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23603, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:18:14";
"file_name" = "";
message = "My finger is your finger \Ud83e\Udee6";
"message_id" = 23604;
"message_type" = 0;
"prev_session_message_id" = 23603;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23604, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <91AD6C82-0D77-45A3-895B-2C9A3766C919>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <91AD6C82-0D77-45A3-895B-2C9A3766C919>.<1>}
datesent = "2026-03-04 14:18:23";
"file_name" = "";
message = "Feel you baby";
"message_id" = 23605;
"message_type" = 0;
"prev_session_message_id" = 23604;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23605]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23605, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:18:23";
"file_name" = "";
message = "Feel you baby";
"message_id" = 23605;
"message_type" = 0;
"prev_session_message_id" = 23604;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23607]
datesent = "2026-03-04 14:19:56";
"file_name" = "";
message = Whhaaaaaat;
"message_id" = 23608;
"message_type" = 0;
"prev_session_message_id" = 23607;
"replied_message" = Stop;
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23606;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23608]
datesent = "2026-03-04 14:19:56";
"file_name" = "";
message = Whhaaaaaat;
"message_id" = 23608;
"message_type" = 0;
"prev_session_message_id" = 23607;
"replied_message" = Stop;
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23606;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23608]
datesent = "2026-03-04 14:19:56";
"file_name" = "";
message = Whhaaaaaat;
"message_id" = 23608;
"message_type" = 0;
"prev_session_message_id" = 23607;
"replied_message" = Stop;
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23606;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23608]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:19:58";
"file_name" = "";
message = Babyyy;
"message_id" = 23609;
"message_type" = 0;
"prev_session_message_id" = 23608;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23609]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:19:58";
"file_name" = "";
message = Babyyy;
"message_id" = 23609;
"message_type" = 0;
"prev_session_message_id" = 23608;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23609]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:19:58";
"file_name" = "";
message = Babyyy;
"message_id" = 23609;
"message_type" = 0;
"prev_session_message_id" = 23608;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23609, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:20:00";
"file_name" = "";
message = "\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72";
"message_id" = 23610;
"message_type" = 0;
"prev_session_message_id" = 23609;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:20:00";
"file_name" = "";
message = "\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72";
"message_id" = 23610;
"message_type" = 0;
"prev_session_message_id" = 23609;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:20:00";
"file_name" = "";
message = "\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72";
"message_id" = 23610;
"message_type" = 0;
"prev_session_message_id" = 23609;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23610, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:20:01";
"file_name" = "";
message = Noooooooo;
"message_id" = 23611;
"message_type" = 0;
"prev_session_message_id" = 23610;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23611, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:20:01";
"file_name" = "";
message = Noooooooo;
"message_id" = 23611;
"message_type" = 0;
"prev_session_message_id" = 23610;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23611, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:20:01";
"file_name" = "";
message = Noooooooo;
"message_id" = 23611;
"message_type" = 0;
"prev_session_message_id" = 23610;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23611, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23608, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23609, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23611]
"content-available" = 1;
}, AnyHashable("message_id"): 23612, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23614]
── Body ──
{"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23614,"event_type":2}
"content-available" = 1;
}]
"content-available" = 1;
}]
datesent = "2026-03-04 14:20:47";
"file_name" = "";
message = "I want to come";
"message_id" = 23615;
"message_type" = 0;
"prev_session_message_id" = 23614;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23615]
datesent = "2026-03-04 14:20:47";
"file_name" = "";
message = "I want to come";
"message_id" = 23615;
"message_type" = 0;
"prev_session_message_id" = 23614;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23615]
datesent = "2026-03-04 14:20:47";
"file_name" = "";
message = "I want to come";
"message_id" = 23615;
"message_type" = 0;
"prev_session_message_id" = 23614;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23615, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:21:09";
"file_name" = "";
message = Pls;
"message_id" = 23616;
"message_type" = 0;
"prev_session_message_id" = 23615;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23616]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:21:09";
"file_name" = "";
message = Pls;
"message_id" = 23616;
"message_type" = 0;
"prev_session_message_id" = 23615;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23616]
datesent = "2026-03-04 14:21:09";
"file_name" = "";
message = Pls;
"message_id" = 23616;
"message_type" = 0;
"prev_session_message_id" = 23615;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23616]
"content-available" = 1;
}]
datesent = "2026-03-04 14:21:28";
"file_name" = "";
message = "I need to come";
"message_id" = 23617;
"message_type" = 0;
"prev_session_message_id" = 23616;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23617, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-04 14:21:28";
"file_name" = "";
message = "I need to come";
"message_id" = 23617;
"message_type" = 0;
"prev_session_message_id" = 23616;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23617, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-04 14:21:28";
"file_name" = "";
message = "I need to come";
"message_id" = 23617;
"message_type" = 0;
"prev_session_message_id" = 23616;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23617]
"content-available" = 1;
}, AnyHashable("message_id"): 23617, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23618, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:21:59";
"file_name" = "";
message = "My loooove plss";
"message_id" = 23619;
"message_type" = 0;
"prev_session_message_id" = 23618;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23619]
datesent = "2026-03-04 14:21:59";
"file_name" = "";
message = "My loooove plss";
"message_id" = 23619;
"message_type" = 0;
"prev_session_message_id" = 23618;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23619]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:21:59";
"file_name" = "";
message = "My loooove plss";
"message_id" = 23619;
"message_type" = 0;
"prev_session_message_id" = 23618;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23619, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23620, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 14:22:16";
"file_name" = "";
message = "Want you soo much";
"message_id" = 23621;
"message_type" = 0;
"prev_session_message_id" = 23620;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23621]
datesent = "2026-03-04 14:22:16";
"file_name" = "";
message = "Want you soo much";
"message_id" = 23621;
"message_type" = 0;
"prev_session_message_id" = 23620;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23621]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:22:16";
"file_name" = "";
message = "Want you soo much";
"message_id" = 23621;
"message_type" = 0;
"prev_session_message_id" = 23620;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:22:21";
"file_name" = "";
message = "Yes yes yes";
"message_id" = 23622;
"message_type" = 0;
"prev_session_message_id" = 23621;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23622]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:22:21";
"file_name" = "";
message = "Yes yes yes";
"message_id" = 23622;
"message_type" = 0;
"prev_session_message_id" = 23621;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23622]
datesent = "2026-03-04 14:22:21";
"file_name" = "";
message = "Yes yes yes";
"message_id" = 23622;
"message_type" = 0;
"prev_session_message_id" = 23621;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23622]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23622]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23621]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000104a2d9d0 $s3Eye14ViewControllerC05tableB0_14didSelectRowAtySo07UITableB0C_10Foundation9IndexPathVtFySo7NSTimerCYbcfU2_ + 808
2 Eye.debug.dylib 0x00000001047c6a04 $sSo7NSTimerCIeghg_ABIeyBhy_TR + 72
3 Foundation 0x000000019ba709bc __NSFireTimer + 96
4 CoreFoundation 0x000000019e364c00 D52BCEEE-E890-347C-8461-1537154E22D9 + 318464
5 CoreFoundation 0x000000019e3648c0 D52BCEEE-E890-347C-8461-1537154E22D9 + 317632
6 CoreFoundation 0x000000019e364434 D52BCEEE-E890-347C-8461-1537154E22D9 + 316468
7 CoreFoundation 0x000000019e334abc D52BCEEE-E890-347C-8461-1537154E22D9 + 121532
8 CoreFoundation 0x000000019e333a6c D52BCEEE-E890-347C-8461-1537154E22D9 + 117356
9 GraphicsServices 0x0000000242cb9498 GSEventRunModal + 120
"content-available" = 1;
}, AnyHashable("operation_type"): 1, AnyHashable("message_id"): 23607]
-- Response Headers --
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 67
Keep-Alive: timeout=5, max=100
Date: Wed, 04 Mar 2026 14:22:48 GMT
Server: Apache/2.4.66 (Debian)
-- Body --
{"ok":true,"event_type":1,"message_id":23607,"session_id":"ILUIWU"}
"content-available" = 1;
}]
"LocalWebSocketTask <277604B1-5647-40B4-9182-4592CF2FBCC2>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <277604B1-5647-40B4-9182-4592CF2FBCC2>.<1>, NSLocalizedDescription=cancelled}
"LocalWebSocketTask <E6924B2C-4DBD-4275-9492-65F633D5919B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E6924B2C-4DBD-4275-9492-65F633D5919B>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23624]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("message_id"): 23625, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
datesent = "2026-03-04 14:24:00";
"file_name" = "";
message = "Pls baby";
"message_id" = 23627;
"message_type" = 0;
"prev_session_message_id" = 23626;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:24:00";
"file_name" = "";
message = "Pls baby";
"message_id" = 23627;
"message_type" = 0;
"prev_session_message_id" = 23626;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:24:00";
"file_name" = "";
message = "Pls baby";
"message_id" = 23627;
"message_type" = 0;
"prev_session_message_id" = 23626;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23629]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23631]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23631]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23631]
"content-available" = 1;
}]
"content-available" = 1;
}]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:25:23";
"file_name" = "";
message = "I can\U2019t resist";
"message_id" = 23633;
"message_type" = 0;
"prev_session_message_id" = 23632;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23633, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <15AE6B31-0BB8-4FB8-AE2B-0C9C03FB6672>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <15AE6B31-0BB8-4FB8-AE2B-0C9C03FB6672>.<1>}
"content-available" = 1;
}]
datesent = "2026-03-04 14:25:34";
"file_name" = "";
message = "Pls allow me to come";
"message_id" = 23634;
"message_type" = 0;
"prev_session_message_id" = 23633;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"LocalWebSocketTask <320B859F-23C2-4E2B-871A-823D08E0E4DB>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <320B859F-23C2-4E2B-871A-823D08E0E4DB>.<1>}
datesent = "2026-03-04 14:25:34";
"file_name" = "";
message = "Pls allow me to come";
"message_id" = 23634;
"message_type" = 0;
"prev_session_message_id" = 23633;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23634]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:26:11";
"file_name" = "";
message = Baby;
"message_id" = 23636;
"message_type" = 0;
"prev_session_message_id" = 23635;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:26:11";
"file_name" = "";
message = Baby;
"message_id" = 23636;
"message_type" = 0;
"prev_session_message_id" = 23635;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:26:11";
"file_name" = "";
message = Baby;
"message_id" = 23636;
"message_type" = 0;
"prev_session_message_id" = 23635;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23636, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23636]
"content-available" = 1;
}, AnyHashable("message_id"): 23637, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 14:26:21";
"file_name" = "";
message = Noooo;
"message_id" = 23638;
"message_type" = 0;
"prev_session_message_id" = 23637;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:26:21";
"file_name" = "";
message = Noooo;
"message_id" = 23638;
"message_type" = 0;
"prev_session_message_id" = 23637;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:26:21";
"file_name" = "";
message = Noooo;
"message_id" = 23638;
"message_type" = 0;
"prev_session_message_id" = 23637;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23638]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23639]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23640]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23641, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23641, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23641, AnyHashable("operation_type"): 0]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23642, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 14:27:45";
"file_name" = "";
message = Baby;
"message_id" = 23643;
"message_type" = 0;
"prev_session_message_id" = 23642;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23643]
datesent = "2026-03-04 14:27:45";
"file_name" = "";
message = Baby;
"message_id" = 23643;
"message_type" = 0;
"prev_session_message_id" = 23642;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23643]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:27:45";
"file_name" = "";
message = Baby;
"message_id" = 23643;
"message_type" = 0;
"prev_session_message_id" = 23642;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23643, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 14:27:53";
"file_name" = "";
message = "Need to come";
"message_id" = 23644;
"message_type" = 0;
"prev_session_message_id" = 23643;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23644, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:27:53";
"file_name" = "";
message = "Need to come";
"message_id" = 23644;
"message_type" = 0;
"prev_session_message_id" = 23643;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23644, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23644, AnyHashable("message_data"): {
datesent = "2026-03-04 14:27:53";
"file_name" = "";
message = "Need to come";
"message_id" = 23644;
"message_type" = 0;
"prev_session_message_id" = 23643;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:27:59";
"file_name" = "";
message = Pleasee;
"message_id" = 23645;
"message_type" = 0;
"prev_session_message_id" = 23644;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23645, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:27:59";
"file_name" = "";
message = Pleasee;
"message_id" = 23645;
"message_type" = 0;
"prev_session_message_id" = 23644;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23645, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:27:59";
"file_name" = "";
message = Pleasee;
"message_id" = 23645;
"message_type" = 0;
"prev_session_message_id" = 23644;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23645]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23646, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23647, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
datesent = "2026-03-04 14:29:10";
"file_name" = "";
message = "I cant";
"message_id" = 23648;
"message_type" = 0;
"prev_session_message_id" = 23647;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:29:10";
"file_name" = "";
message = "I cant";
"message_id" = 23648;
"message_type" = 0;
"prev_session_message_id" = 23647;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:29:10";
"file_name" = "";
message = "I cant";
"message_id" = 23648;
"message_type" = 0;
"prev_session_message_id" = 23647;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23648]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23650, AnyHashable("message_data"): {
datesent = "2026-03-04 14:29:17";
"file_name" = "";
message = "I can\U2019t stop";
"message_id" = 23650;
"message_type" = 0;
"prev_session_message_id" = 23649;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23650, AnyHashable("message_data"): {
datesent = "2026-03-04 14:29:17";
"file_name" = "";
message = "I can\U2019t stop";
"message_id" = 23650;
"message_type" = 0;
"prev_session_message_id" = 23649;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:29:17";
"file_name" = "";
message = "I can\U2019t stop";
"message_id" = 23650;
"message_type" = 0;
"prev_session_message_id" = 23649;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23651, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23651]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"LocalDataTask <D184AC96-B15B-41C7-9905-91045CE9F5D2>.<1133>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23650&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23650&mark_read=0, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23656, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23657]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23658, AnyHashable("message_data"): {
datesent = "2026-03-04 14:29:44";
"file_name" = "";
message = "Dont say stop";
"message_id" = 23658;
"message_type" = 0;
"prev_session_message_id" = 23657;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23658, AnyHashable("message_data"): {
datesent = "2026-03-04 14:29:44";
"file_name" = "";
message = "Dont say stop";
"message_id" = 23658;
"message_type" = 0;
"prev_session_message_id" = 23657;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:29:44";
"file_name" = "";
message = "Dont say stop";
"message_id" = 23658;
"message_type" = 0;
"prev_session_message_id" = 23657;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23659, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23660, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23661, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23662, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23664, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 14:30:30";
"file_name" = "";
message = Babyyyyyy;
"message_id" = 23665;
"message_type" = 0;
"prev_session_message_id" = 23664;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23665, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:30:30";
"file_name" = "";
message = Babyyyyyy;
"message_id" = 23665;
"message_type" = 0;
"prev_session_message_id" = 23664;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23665, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23665, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:30:30";
"file_name" = "";
message = Babyyyyyy;
"message_id" = 23665;
"message_type" = 0;
"prev_session_message_id" = 23664;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23665]
datesent = "2026-03-04 14:30:35";
"file_name" = "";
message = "Thank youuu!!!!";
"message_id" = 23667;
"message_type" = 0;
"prev_session_message_id" = 23666;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23667]
datesent = "2026-03-04 14:30:35";
"file_name" = "";
message = "Thank youuu!!!!";
"message_id" = 23667;
"message_type" = 0;
"prev_session_message_id" = 23666;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23667]
datesent = "2026-03-04 14:30:35";
"file_name" = "";
message = "Thank youuu!!!!";
"message_id" = 23667;
"message_type" = 0;
"prev_session_message_id" = 23666;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23667, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:30:42";
"file_name" = "";
message = "I love you!!";
"message_id" = 23668;
"message_type" = 0;
"prev_session_message_id" = 23667;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:30:42";
"file_name" = "";
message = "I love you!!";
"message_id" = 23668;
"message_type" = 0;
"prev_session_message_id" = 23667;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:30:42";
"file_name" = "";
message = "I love you!!";
"message_id" = 23668;
"message_type" = 0;
"prev_session_message_id" = 23667;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23668]
datesent = "2026-03-04 14:30:42";
"file_name" = "";
message = "I love you!!";
"message_id" = 23668;
"message_type" = 0;
"prev_session_message_id" = 23667;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23668]
"content-available" = 1;
}, AnyHashable("message_id"): 23668, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:07";
"file_name" = "";
message = Wow;
"message_id" = 23670;
"message_type" = 0;
"prev_session_message_id" = 23669;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23670]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:07";
"file_name" = "";
message = Wow;
"message_id" = 23670;
"message_type" = 0;
"prev_session_message_id" = 23669;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23670]
datesent = "2026-03-04 14:31:07";
"file_name" = "";
message = Wow;
"message_id" = 23670;
"message_type" = 0;
"prev_session_message_id" = 23669;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23670]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23669, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23669, AnyHashable("operation_type"): 0]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23669, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23670, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23671, AnyHashable("session_id"): ILUIWU]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:27";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23672;
"message_type" = 0;
"prev_session_message_id" = 23671;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:27";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23672;
"message_type" = 0;
"prev_session_message_id" = 23671;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23672, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:27";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23672;
"message_type" = 0;
"prev_session_message_id" = 23671;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23673, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:41";
"file_name" = "";
message = "Pls do";
"message_id" = 23674;
"message_type" = 0;
"prev_session_message_id" = 23673;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23674]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:41";
"file_name" = "";
message = "Pls do";
"message_id" = 23674;
"message_type" = 0;
"prev_session_message_id" = 23673;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23674]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:41";
"file_name" = "";
message = "Pls do";
"message_id" = 23674;
"message_type" = 0;
"prev_session_message_id" = 23673;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23674]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23674, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 14:31:54";
"file_name" = "";
message = "But not only my fingers";
"message_id" = 23675;
"message_type" = 0;
"prev_session_message_id" = 23674;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23675, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:31:54";
"file_name" = "";
message = "But not only my fingers";
"message_id" = 23675;
"message_type" = 0;
"prev_session_message_id" = 23674;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23675, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:31:54";
"file_name" = "";
message = "But not only my fingers";
"message_id" = 23675;
"message_type" = 0;
"prev_session_message_id" = 23674;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-03-04 14:31:56";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 23676;
"message_type" = 0;
"prev_session_message_id" = 23675;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23676, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-04 14:31:56";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 23676;
"message_type" = 0;
"prev_session_message_id" = 23675;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23676, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23675]
datesent = "2026-03-04 14:31:56";
"file_name" = "";
message = "\Ud83e\Udee6";
"message_id" = 23676;
"message_type" = 0;
"prev_session_message_id" = 23675;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23676, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23676, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23676, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23677]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23678, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23679, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:46";
"file_name" = "";
message = "Yes yes yes!";
"message_id" = 23679;
"message_type" = 0;
"prev_session_message_id" = 23678;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23679, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:46";
"file_name" = "";
message = "Yes yes yes!";
"message_id" = 23679;
"message_type" = 0;
"prev_session_message_id" = 23678;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-04 14:32:46";
"file_name" = "";
message = "Yes yes yes!";
"message_id" = 23679;
"message_type" = 0;
"prev_session_message_id" = 23678;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23679]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23680, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:51";
"file_name" = "";
message = "Thank you babyyy";
"message_id" = 23680;
"message_type" = 0;
"prev_session_message_id" = 23679;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23680, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:51";
"file_name" = "";
message = "Thank you babyyy";
"message_id" = 23680;
"message_type" = 0;
"prev_session_message_id" = 23679;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:51";
"file_name" = "";
message = "Thank you babyyy";
"message_id" = 23680;
"message_type" = 0;
"prev_session_message_id" = 23679;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23680]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:56";
"file_name" = "";
message = "I really needed";
"message_id" = 23682;
"message_type" = 0;
"prev_session_message_id" = 23681;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:56";
"file_name" = "";
message = "I really needed";
"message_id" = 23682;
"message_type" = 0;
"prev_session_message_id" = 23681;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-04 14:32:56";
"file_name" = "";
message = "I really needed";
"message_id" = 23682;
"message_type" = 0;
"prev_session_message_id" = 23681;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23683, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:58";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23683;
"message_type" = 0;
"prev_session_message_id" = 23682;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23683, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:58";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23683;
"message_type" = 0;
"prev_session_message_id" = 23682;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 14:32:58";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23683;
"message_type" = 0;
"prev_session_message_id" = 23682;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23683]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23683]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23686, AnyHashable("message_data"): {
datesent = "2026-03-04 14:33:35";
"file_name" = "";
message = "A lot!";
"message_id" = 23686;
"message_type" = 0;
"prev_session_message_id" = 23685;
"replied_message" = "Hope you enjoyed it";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23684;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23686, AnyHashable("message_data"): {
datesent = "2026-03-04 14:33:35";
"file_name" = "";
message = "A lot!";
"message_id" = 23686;
"message_type" = 0;
"prev_session_message_id" = 23685;
"replied_message" = "Hope you enjoyed it";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23684;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
datesent = "2026-03-04 14:33:35";
"file_name" = "";
message = "A lot!";
"message_id" = 23686;
"message_type" = 0;
"prev_session_message_id" = 23685;
"replied_message" = "Hope you enjoyed it";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23684;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
datesent = "2026-03-04 14:35:40";
"file_name" = "";
message = "I love you I love you I love you babyyyyy";
"message_id" = 23689;
"message_type" = 0;
"prev_session_message_id" = 23688;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23689]
datesent = "2026-03-04 14:35:40";
"file_name" = "";
message = "I love you I love you I love you babyyyyy";
"message_id" = 23689;
"message_type" = 0;
"prev_session_message_id" = 23688;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23689]
"content-available" = 1;
}]
"LocalDataTask <52769A4F-43AD-4A87-8033-55DECD9EF30A>.<1336>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 14:41:32";
"file_name" = "";
message = "Yes!!!! \U2764\Ufe0f";
"message_id" = 23691;
"message_type" = 0;
"prev_session_message_id" = 23690;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23691, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
datesent = "2026-03-04 15:09:06";
"file_name" = "";
message = "\U2764\Ufe0f";
"message_id" = 23692;
"message_type" = 0;
"prev_session_message_id" = 23691;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23692, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23688, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
datesent = "2026-03-04 16:15:20";
"file_name" = "";
message = "Our timing is perfect, I got my period \Ud83d\Ude03\Ud83d\Ude03\Ud83d\Ude03";
"message_id" = 23693;
"message_type" = 0;
"prev_session_message_id" = 23692;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23693, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
datesent = "2026-03-04 16:33:21";
"file_name" = "";
message = "Yeess\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d";
"message_id" = 23698;
"message_type" = 0;
"prev_session_message_id" = 23697;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23698, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 16:33:21";
"file_name" = "";
message = "Yeess\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d";
"message_id" = 23698;
"message_type" = 0;
"prev_session_message_id" = 23697;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23698, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-04 16:33:29";
"file_name" = "";
message = "Thanks to you baby\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 23699;
"message_type" = 0;
"prev_session_message_id" = 23698;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23699, AnyHashable("message_data"): {
datesent = "2026-03-04 16:33:29";
"file_name" = "";
message = "Thanks to you baby\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 23699;
"message_type" = 0;
"prev_session_message_id" = 23698;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}]
"LocalWebSocketTask <C4D35C2D-5C99-43B8-927D-2F0221D8E5E2>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C4D35C2D-5C99-43B8-927D-2F0221D8E5E2>.<1>}
"LocalWebSocketTask <03F48B6E-2C12-4DF0-B60A-EA2C86F40C04>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03F48B6E-2C12-4DF0-B60A-EA2C86F40C04>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-04 16:59:33";
"file_name" = "";
message = "\U2763\Ufe0f";
"message_id" = 23700;
"message_type" = 0;
"prev_session_message_id" = 23699;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23705, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"LocalWebSocketTask <4BD10B7E-2F64-49F7-932B-D42BBC28677F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4BD10B7E-2F64-49F7-932B-D42BBC28677F>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23710, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23716, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-05 08:18:11";
"file_name" = "";
message = "Thanks for sharing my love\U2665\Ufe0f\U2665\Ufe0f\U2665\Ufe0f";
"message_id" = 23716;
"message_type" = 0;
"prev_session_message_id" = 23715;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23714;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23716, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23715, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-05 09:50:24";
"file_name" = "";
message = "Busy day for my baby?";
"message_id" = 23717;
"message_type" = 0;
"prev_session_message_id" = 23716;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-05 09:50:24";
"file_name" = "";
message = "Busy day for my baby?";
"message_id" = 23717;
"message_type" = 0;
"prev_session_message_id" = 23716;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23717]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <7527FAEA-64B8-4404-8B9C-319AE3B74258>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7527FAEA-64B8-4404-8B9C-319AE3B74258>.<1>}
datesent = "2026-03-05 09:53:41";
"file_name" = "";
message = "Good luck my love \U2665\Ufe0f";
"message_id" = 23719;
"message_type" = 0;
"prev_session_message_id" = 23718;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23719, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23719]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23719, AnyHashable("message_data"): {
datesent = "2026-03-05 09:53:41";
"file_name" = "";
message = "Good luck my love \U2665\Ufe0f";
"message_id" = 23719;
"message_type" = 0;
"prev_session_message_id" = 23718;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-05 09:58:56";
"file_name" = "";
message = "Much better but not good enough baby\Ud83d\Ude43";
"message_id" = 23722;
"message_type" = 0;
"prev_session_message_id" = 23721;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23722]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23722]
"LocalWebSocketTask <792B5BA8-54B9-4576-9FE8-BF8050B1C91E>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <792B5BA8-54B9-4576-9FE8-BF8050B1C91E>.<1>, NSLocalizedDescription=cancelled}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-05 10:08:36";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 23724;
"message_type" = 0;
"prev_session_message_id" = 23723;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23724, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23724]
datesent = "2026-03-05 10:13:14";
"file_name" = "";
message = "Ha ha \Ud83e\Udd23 you are always focusing advantages in every circumstances\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23726;
"message_type" = 0;
"prev_session_message_id" = 23725;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
datesent = "2026-03-05 10:15:51";
"file_name" = "";
message = "Your smile\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0";
"message_id" = 23727;
"message_type" = 0;
"prev_session_message_id" = 23726;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23727, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"LocalWebSocketTask <E853C8CF-19DB-4932-BC9A-1579F6C1076B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E853C8CF-19DB-4932-BC9A-1579F6C1076B>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23727]
datesent = "2026-03-05 10:15:51";
"file_name" = "";
message = "Your smile\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0";
"message_id" = 23727;
"message_type" = 0;
"prev_session_message_id" = 23726;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23727, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23728]
"content-available" = 1;
}]
"LocalWebSocketTask <13813FF5-054D-41CB-AD88-6F1F4F47A001>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <13813FF5-054D-41CB-AD88-6F1F4F47A001>.<1>}
"LocalWebSocketTask <03E3F9C0-05D9-43C0-A367-BB7C960FE22C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03E3F9C0-05D9-43C0-A367-BB7C960FE22C>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23731, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <3CBBAC11-A588-44B6-95A2-A8EDB1129992>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3CBBAC11-A588-44B6-95A2-A8EDB1129992>.<1>, NSLocalizedDescription=The network connection was lost.}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23734, AnyHashable("message_data"): {
datesent = "2026-03-05 11:36:56";
"file_name" = "";
message = "Had to switch to intenseye\Ud83d\Ude12";
"message_id" = 23734;
"message_type" = 0;
"prev_session_message_id" = 23733;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23734, AnyHashable("message_data"): {
datesent = "2026-03-05 11:36:56";
"file_name" = "";
message = "Had to switch to intenseye\Ud83d\Ude12";
"message_id" = 23734;
"message_type" = 0;
"prev_session_message_id" = 23733;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
"LocalWebSocketTask <03BA0DD7-8420-41D8-952B-02AE8A0D39D7>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03BA0DD7-8420-41D8-952B-02AE8A0D39D7>.<1>}
"LocalWebSocketTask <FDCF47A3-0D8D-4A79-A17C-AFD567992B86>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <FDCF47A3-0D8D-4A79-A17C-AFD567992B86>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23736]
"LocalWebSocketTask <7DABA242-28F4-4238-B235-F9A6656C6E06>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7DABA242-28F4-4238-B235-F9A6656C6E06>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23737, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-05 12:47:16";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\U2764\Ufe0f";
"message_id" = 23737;
"message_type" = 0;
"prev_session_message_id" = 23736;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23737]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23737, AnyHashable("message_data"): {
datesent = "2026-03-05 12:47:16";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\U2764\Ufe0f";
"message_id" = 23737;
"message_type" = 0;
"prev_session_message_id" = 23736;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <26D3F0CF-3526-41E7-8B3D-7D84C708CDBF>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <26D3F0CF-3526-41E7-8B3D-7D84C708CDBF>.<1>}
"LocalWebSocketTask <D9FB8170-B18E-4764-9AD9-67742A159205>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <D9FB8170-B18E-4764-9AD9-67742A159205>.<1>}
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-05 13:41:29";
"file_name" = "";
message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83d\Ude2d tooo much baby";
"message_id" = 23739;
"message_type" = 0;
"prev_session_message_id" = 23738;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <5AB0EE5E-D047-48F6-A171-5C3BD9C3CBFD>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5AB0EE5E-D047-48F6-A171-5C3BD9C3CBFD>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23739]
"LocalWebSocketTask <171AB01A-950D-4B6C-89D7-1B27CA3EDB32>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <171AB01A-950D-4B6C-89D7-1B27CA3EDB32>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"LocalDataTask <23AA071E-B24F-479D-9733-E56EA2154808>.<382>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23740, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23740, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23740]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x0000000102dd0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000102dda790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000102ddaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <071E7621-5B7A-401B-81F0-0CE5F9FF6730>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <071E7621-5B7A-401B-81F0-0CE5F9FF6730>.<1>}
"LocalWebSocketTask <9F649D99-FCDE-4078-91E7-84EAE748D005>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9F649D99-FCDE-4078-91E7-84EAE748D005>.<1>}
"LocalWebSocketTask <882C4FAD-47CB-46A0-8A03-CE44BF9377CC>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <882C4FAD-47CB-46A0-8A03-CE44BF9377CC>.<1>}
0 Eye.debug.dylib 0x0000000102dd0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000102dda790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000102ddaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"LocalWebSocketTask <6B0DDEDA-7A45-47B9-8EF7-3A56BE0D9F00>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6B0DDEDA-7A45-47B9-8EF7-3A56BE0D9F00>.<1>}
"LocalWebSocketTask <38883398-F2A3-464A-9491-B739FE5B8E26>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <38883398-F2A3-464A-9491-B739FE5B8E26>.<1>}
"LocalWebSocketTask <09038BE8-B08E-4BE2-9C57-C83548DCE9C1>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <09038BE8-B08E-4BE2-9C57-C83548DCE9C1>.<1>}
"LocalWebSocketTask <23952738-1D0C-4121-B02A-026950F91F6E>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <23952738-1D0C-4121-B02A-026950F91F6E>.<1>}
"LocalWebSocketTask <0E5191C6-AB9D-4ADC-AEAF-3FD39B240FCB>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0E5191C6-AB9D-4ADC-AEAF-3FD39B240FCB>.<1>}
"LocalWebSocketTask <94BE034D-3BE3-4FBA-BDC9-199745087148>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <94BE034D-3BE3-4FBA-BDC9-199745087148>.<1>}
"LocalWebSocketTask <01E4F447-D6DF-4977-A64B-A062EF0ADBCC>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <01E4F447-D6DF-4977-A64B-A062EF0ADBCC>.<1>}
"LocalWebSocketTask <24AD9256-1B41-47B5-A8F8-17FDFA392C54>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <24AD9256-1B41-47B5-A8F8-17FDFA392C54>.<1>}
"LocalWebSocketTask <4D7B06D8-0FC1-4C57-A8A8-A1BC4DE00E8F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4D7B06D8-0FC1-4C57-A8A8-A1BC4DE00E8F>.<1>}
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23745, AnyHashable("message_data"): {
datesent = "2026-03-05 17:15:27";
"file_name" = "";
message = "You are my sun!";
"message_id" = 23745;
"message_type" = 0;
"prev_session_message_id" = 23744;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"LocalWebSocketTask <D3591159-196A-44BD-9DB6-3F11CC6B0CD0>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <D3591159-196A-44BD-9DB6-3F11CC6B0CD0>.<1>}
"content-available" = 1;
}]
"LocalWebSocketTask <5E2DD013-454C-4CB3-B4DB-9357370E529C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5E2DD013-454C-4CB3-B4DB-9357370E529C>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23745, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-05 17:15:27";
"file_name" = "";
message = "You are my sun!";
"message_id" = 23745;
"message_type" = 0;
"prev_session_message_id" = 23744;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <9FDBF4F4-1F4B-4783-96B2-3E9ACE57BA41>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9FDBF4F4-1F4B-4783-96B2-3E9ACE57BA41>.<1>, NSLocalizedDescription=cancelled}
0 Eye.debug.dylib 0x0000000100687378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000100691370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000100691670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"LocalDataTask <6C26E4BA-B2DC-4E0A-B5F9-BB51125F0968>.<2>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU][07:32:00] [LOG] Pruned 2441 entries older than 3 hours
"content-available" = 1;
}]
"LocalWebSocketTask <760F724B-0ADA-460D-941C-204D0441AAF1>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <760F724B-0ADA-460D-941C-204D0441AAF1>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 06:54:00";
"file_name" = "";
message = "Mmm\Ud83d\Udc8b\Ud83d\Ude0b\Ud83d\Ude0b\Ud83e\Udee6";
"message_id" = 23754;
"message_type" = 0;
"prev_session_message_id" = 23753;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23754, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <BD021A1F-AD05-438C-853F-BB77D68E90B4>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <BD021A1F-AD05-438C-853F-BB77D68E90B4>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23754, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <2495B063-F4A5-4E18-BAF3-5B2EDC978735>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <2495B063-F4A5-4E18-BAF3-5B2EDC978735>.<1>, NSLocalizedDescription=The network connection was lost.}
"content-available" = 1;
}]
"content-available" = 1;
}]
0 Eye.debug.dylib 0x00000001007a3378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001007ad370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001007ad670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x00000001007a3378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001008045b0 $s3Eye14ViewControllerC05tableB0_14didSelectRowAtySo07UITableB0C_10Foundation9IndexPathVtFySo7NSTimerCYbcfU2_ + 808
2 Eye.debug.dylib 0x000000010059aa04 $sSo7NSTimerCIeghg_ABIeyBhy_TR + 72
3 Foundation 0x000000019ba709bc __NSFireTimer + 96
4 CoreFoundation 0x000000019e364c00 D52BCEEE-E890-347C-8461-1537154E22D9 + 318464
5 CoreFoundation 0x000000019e3648c0 D52BCEEE-E890-347C-8461-1537154E22D9 + 317632
6 CoreFoundation 0x000000019e364434 D52BCEEE-E890-347C-8461-1537154E22D9 + 316468
7 CoreFoundation 0x000000019e334abc D52BCEEE-E890-347C-8461-1537154E22D9 + 121532
8 CoreFoundation 0x000000019e333a6c D52BCEEE-E890-347C-8461-1537154E22D9 + 117356
9 GraphicsServices 0x0000000242cb9498 GSEventRunModal + 120
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23755]
-- Response Headers --
Server: Apache/2.4.66 (Debian)
Date: Fri, 06 Mar 2026 06:57:46 GMT
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Content-Length: 67
Keep-Alive: timeout=5, max=98
-- Body --
{"ok":true,"event_type":1,"message_id":23755,"session_id":"ILUIWU"}
"LocalWebSocketTask <EA1F635E-7708-49D7-8BC5-E8BA28AF153B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <EA1F635E-7708-49D7-8BC5-E8BA28AF153B>.<1>}
datesent = "2026-03-06 07:03:59";
"file_name" = "";
message = "Alone?";
"message_id" = 23757;
"message_type" = 0;
"prev_session_message_id" = 23756;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23757, AnyHashable("session_id"): ILUIWU]
"LocalWebSocketTask <6BB75942-A457-4227-BD66-DAEC592B0A1C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6BB75942-A457-4227-BD66-DAEC592B0A1C>.<1>}
"LocalWebSocketTask <42A04F3F-501C-4432-AE70-9BA23FC6A1DE>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <42A04F3F-501C-4432-AE70-9BA23FC6A1DE>.<1>}
"LocalWebSocketTask <FA9B356F-F0E7-4B15-9C4E-4225B1A56276>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <FA9B356F-F0E7-4B15-9C4E-4225B1A56276>.<1>}
datesent = "2026-03-06 07:51:20";
"file_name" = "";
message = "Where are you going? \Ud83e\Udd7a";
"message_id" = 23762;
"message_type" = 0;
"prev_session_message_id" = 23761;
"replied_message" = "But will leave around noon (2pm your time) for 4h train \Ud83d\Ude0a";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23760;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23762, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"LocalWebSocketTask <E7C3C43D-31E9-4967-8CF1-88C7A8A30A34>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <E7C3C43D-31E9-4967-8CF1-88C7A8A30A34>.<1>}
"LocalWebSocketTask <7852C24F-0DE7-4105-9332-33AFED74E9AD>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7852C24F-0DE7-4105-9332-33AFED74E9AD>.<1>}
"LocalWebSocketTask <5F63D8ED-3155-4710-8414-B13199C738BA>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5F63D8ED-3155-4710-8414-B13199C738BA>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23764, AnyHashable("message_data"): {
datesent = "2026-03-06 08:38:46";
"file_name" = "";
message = "Ah good \Ud83e\Udd70 enjoy baby \U2763\Ufe0f";
"message_id" = 23764;
"message_type" = 0;
"prev_session_message_id" = 23763;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
datesent = "2026-03-06 08:38:46";
"file_name" = "";
message = "Ah good \Ud83e\Udd70 enjoy baby \U2763\Ufe0f";
"message_id" = 23764;
"message_type" = 0;
"prev_session_message_id" = 23763;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <6997F1E2-8C57-40FC-B10E-66B1DAA2A4A8>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6997F1E2-8C57-40FC-B10E-66B1DAA2A4A8>.<1>}
datesent = "2026-03-06 08:39:15";
"file_name" = "";
message = "And my sister is coming for a weekend. Family time for both of us \Ud83d\Ude0b";
"message_id" = 23765;
"message_type" = 0;
"prev_session_message_id" = 23764;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("message_id"): 23766]
"content-available" = 1;
}, AnyHashable("message_id"): 23767]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-06 08:41:09";
"file_name" = "";
message = "Ha ha \U2763\Ufe0f of course babyyy! This is not an open issue for discussion \Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23769;
"message_type" = 0;
"prev_session_message_id" = 23768;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23769]
"LocalWebSocketTask <9C8596EB-FF27-4A36-9D7A-CA18D09C6A18>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9C8596EB-FF27-4A36-9D7A-CA18D09C6A18>.<1>}
"LocalWebSocketTask <69FFC4E5-22E9-4210-8AE4-0C9ED6B7E86E>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <69FFC4E5-22E9-4210-8AE4-0C9ED6B7E86E>.<1>}
"LocalWebSocketTask <80918709-F238-48A5-927B-403FD44E511E>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <80918709-F238-48A5-927B-403FD44E511E>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23770, AnyHashable("operation_type"): 0]
"LocalWebSocketTask <0B3B8976-31E1-487B-868C-CE5B6692984B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0B3B8976-31E1-487B-868C-CE5B6692984B>.<1>}
"LocalDataTask <C92079CB-C5D0-4960-BD6D-F4C34C1427EC>.<313>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23770, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23770, _kCFStreamErrorDomainKey=4}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23770, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23770]
0 Eye.debug.dylib 0x00000001007a3378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x00000001007ad370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x00000001007ad670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"content-available" = 1;
}, AnyHashable("message_id"): 23772]
"content-available" = 1;
}]
"LocalWebSocketTask <46AB671A-DFAB-4B1A-B10F-7D06EEF5D559>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <46AB671A-DFAB-4B1A-B10F-7D06EEF5D559>.<1>}
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23770]
"content-available" = 1;
}, AnyHashable("message_id"): 23773, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23774]
"LocalWebSocketTask <9CE0FFFA-5207-45C3-8E7D-C242DE9D5B1C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9CE0FFFA-5207-45C3-8E7D-C242DE9D5B1C>.<1>}
https://www.instagram.com/r...", datesent=2026-03-06 09:58:00
https:/..."
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23775, AnyHashable("message_data"): {
datesent = "2026-03-06 09:58:00";
"file_name" = "";
message = "What about this one? \n\nhttps://www.instagram.com/reel/DVEGXoWjUh7/?igsh=MTc0b256bmNjcmg2MQ==";
"message_id" = 23775;
"message_type" = 0;
"prev_session_message_id" = 23774;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-06 09:58:02";
"file_name" = "";
message = "True?";
"message_id" = 23776;
"message_type" = 0;
"prev_session_message_id" = 23775;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23776, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"LocalWebSocketTask <17FC8B33-0F07-4FD4-8D07-6F7C2A761762>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <17FC8B33-0F07-4FD4-8D07-6F7C2A761762>.<1>}
"content-available" = 1;
}, AnyHashable("message_id"): 23776, AnyHashable("operation_type"): 3]
"LocalWebSocketTask <CB65D28A-32E6-4B8D-B87F-A36DECC6BF5B>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <CB65D28A-32E6-4B8D-B87F-A36DECC6BF5B>.<1>}
"LocalWebSocketTask <A7682D19-07AD-4261-BF56-146BC743C448>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <A7682D19-07AD-4261-BF56-146BC743C448>.<1>}
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 11:20:48";
"file_name" = "";
message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23778;
"message_type" = 0;
"prev_session_message_id" = 23777;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 11:28:20";
"file_name" = "";
message = "\Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24";
"message_id" = 23782;
"message_type" = 0;
"prev_session_message_id" = 23781;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23782, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 3;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23782]
"LocalWebSocketTask <40222863-E2E8-4249-8F7C-FD442088A60A>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <40222863-E2E8-4249-8F7C-FD442088A60A>.<1>}
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23780]
"content-available" = 1;
}, AnyHashable("message_id"): 23781]
"LocalWebSocketTask <03A0631A-21FE-4482-960D-0AF9C741D776>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03A0631A-21FE-4482-960D-0AF9C741D776>.<1>}
"LocalWebSocketTask <3CC83264-2462-49AA-B7E9-3BE69F3DF311>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3CC83264-2462-49AA-B7E9-3BE69F3DF311>.<1>}
"LocalWebSocketTask <3A7CFD07-D480-4C83-A525-ACEE6ABF4432>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3A7CFD07-D480-4C83-A525-ACEE6ABF4432>.<1>, NSLocalizedDescription=The network connection was lost.}
0 Eye.debug.dylib 0x0000000104937378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000104941370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000104941670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
0 Eye.debug.dylib 0x0000000104937378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140
1 Eye.debug.dylib 0x0000000104941370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128
2 Eye.debug.dylib 0x0000000104941670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68
3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512
4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740
5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164
6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156
7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576
8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628
9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200
"LocalWebSocketTask <FA828F03-3718-44FD-AD19-433FFC320E7C>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <FA828F03-3718-44FD-AD19-433FFC320E7C>.<1>, NSLocalizedDescription=The network connection was lost.}
"LocalDataTask <54D90259-7478-4A58-8620-E7858CC5E728>.<430>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, _kCFStreamErrorDomainKey=4} - keeping existing messages
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:08:35";
"file_name" = "";
message = "Yes baby but I was stuck at call";
"message_id" = 23786;
"message_type" = 0;
"prev_session_message_id" = 23785;
"replied_message" = "Are you alone baby?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23784;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23786, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 14:08:35";
"file_name" = "";
message = "Yes baby but I was stuck at call";
"message_id" = 23786;
"message_type" = 0;
"prev_session_message_id" = 23785;
"replied_message" = "Are you alone baby?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23784;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23786, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23786]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23787, AnyHashable("message_data"): {
datesent = "2026-03-06 14:08:38";
"file_name" = "";
message = "Done finally";
"message_id" = 23787;
"message_type" = 0;
"prev_session_message_id" = 23786;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23787, AnyHashable("message_data"): {
datesent = "2026-03-06 14:08:38";
"file_name" = "";
message = "Done finally";
"message_id" = 23787;
"message_type" = 0;
"prev_session_message_id" = 23786;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:08:38";
"file_name" = "";
message = "Done finally";
"message_id" = 23787;
"message_type" = 0;
"prev_session_message_id" = 23786;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23787]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}, AnyHashable("message_id"): 23789, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23790, AnyHashable("message_data"): {
datesent = "2026-03-06 14:09:06";
"file_name" = "";
message = "Because you are!";
"message_id" = 23790;
"message_type" = 0;
"prev_session_message_id" = 23789;
"replied_message" = "My looove \Ud83e\Udd70 Coming from such a sexy lady makes me really feel handsome \Ud83d\Ude09";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23783;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23790, AnyHashable("message_data"): {
datesent = "2026-03-06 14:09:06";
"file_name" = "";
message = "Because you are!";
"message_id" = 23790;
"message_type" = 0;
"prev_session_message_id" = 23789;
"replied_message" = "My looove \Ud83e\Udd70 Coming from such a sexy lady makes me really feel handsome \Ud83d\Ude09";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23783;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23790, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-06 14:09:06";
"file_name" = "";
message = "Because you are!";
"message_id" = 23790;
"message_type" = 0;
"prev_session_message_id" = 23789;
"replied_message" = "My looove \Ud83e\Udd70 Coming from such a sexy lady makes me really feel handsome \Ud83d\Ude09";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23783;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:09:13";
"file_name" = "";
message = "Noo\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 23791;
"message_type" = 0;
"prev_session_message_id" = 23790;
"replied_message" = "No more calls ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23789;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:09:13";
"file_name" = "";
message = "Noo\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 23791;
"message_type" = 0;
"prev_session_message_id" = 23790;
"replied_message" = "No more calls ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23789;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:09:13";
"file_name" = "";
message = "Noo\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70";
"message_id" = 23791;
"message_type" = 0;
"prev_session_message_id" = 23790;
"replied_message" = "No more calls ?";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23789;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}]
"content-available" = 1;
}]
datesent = "2026-03-06 14:10:04";
"file_name" = "";
message = "Miss you already \Ud83d\Ude2d";
"message_id" = 23795;
"message_type" = 0;
"prev_session_message_id" = 23794;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "Distance updated";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 2, AnyHashable("message_id"): 23796, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23796, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23798, AnyHashable("message_data"): {
datesent = "2026-03-06 14:15:17";
"file_name" = "";
message = "1880\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d";
"message_id" = 23798;
"message_type" = 0;
"prev_session_message_id" = 23797;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23798, AnyHashable("message_data"): {
datesent = "2026-03-06 14:15:17";
"file_name" = "";
message = "1880\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d";
"message_id" = 23798;
"message_type" = 0;
"prev_session_message_id" = 23797;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23798, AnyHashable("message_data"): {
datesent = "2026-03-06 14:15:17";
"file_name" = "";
message = "1880\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d";
"message_id" = 23798;
"message_type" = 0;
"prev_session_message_id" = 23797;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("message_id"): 23798]
datesent = "2026-03-06 14:15:49";
"file_name" = "";
message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udee0";
"message_id" = 23800;
"message_type" = 0;
"prev_session_message_id" = 23799;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23800, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-06 14:16:21";
"file_name" = "";
message = "Do you wanna do short 1-0 in the train\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d";
"message_id" = 23801;
"message_type" = 0;
"prev_session_message_id" = 23800;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:34:33";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23804;
"message_type" = 0;
"prev_session_message_id" = 23803;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
"content-available" = 1;
}]
datesent = "2026-03-06 14:34:55";
"file_name" = "";
message = "How did it go\Ud83e\Udd2d";
"message_id" = 23806;
"message_type" = 0;
"prev_session_message_id" = 23805;
"replied_message" = "Ha ha. Would love to baby. But this is a short train without bathroom. Let me do in my mind \Ud83e\Udee6";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23802;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23806]
datesent = "2026-03-06 14:34:55";
"file_name" = "";
message = "How did it go\Ud83e\Udd2d";
"message_id" = 23806;
"message_type" = 0;
"prev_session_message_id" = 23805;
"replied_message" = "Ha ha. Would love to baby. But this is a short train without bathroom. Let me do in my mind \Ud83e\Udee6";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23802;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 14:35:01";
"file_name" = "";
message = "Yess\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d";
"message_id" = 23807;
"message_type" = 0;
"prev_session_message_id" = 23806;
"replied_message" = "But his little sister is all broken these days !";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23805;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 14:35:01";
"file_name" = "";
message = "Yess\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d";
"message_id" = 23807;
"message_type" = 0;
"prev_session_message_id" = 23806;
"replied_message" = "But his little sister is all broken these days !";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23805;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 14:35:01";
"file_name" = "";
message = "Yess\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d";
"message_id" = 23807;
"message_type" = 0;
"prev_session_message_id" = 23806;
"replied_message" = "But his little sister is all broken these days !";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23805;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 14:34:55";
"file_name" = "";
message = "How did it go\Ud83e\Udd2d";
"message_id" = 23806;
"message_type" = 0;
"prev_session_message_id" = 23805;
"replied_message" = "Ha ha. Would love to baby. But this is a short train without bathroom. Let me do in my mind \Ud83e\Udee6";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23802;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23806]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
"LocalDataTask <2B982F35-5B84-4ED5-AE31-779E2E82F7FC>.<631>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
datesent = "2026-03-06 14:37:19";
"file_name" = "";
message = "Mmmmm this is exactly what I want to do babyyyyy\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23809;
"message_type" = 0;
"prev_session_message_id" = 23808;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23809]
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:37:31";
"file_name" = "";
message = "Mmmm want to do now\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23810;
"message_type" = 0;
"prev_session_message_id" = 23809;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 14:37:31";
"file_name" = "";
message = "Mmmm want to do now\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23810;
"message_type" = 0;
"prev_session_message_id" = 23809;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0]
datesent = "2026-03-06 14:37:31";
"file_name" = "";
message = "Mmmm want to do now\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23810;
"message_type" = 0;
"prev_session_message_id" = 23809;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23810, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
"content-available" = 1;
}, AnyHashable("session_id"): ILUIWU]
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_data"): {
datesent = "2026-03-06 15:00:36";
"file_name" = "";
message = "No need a big space\Ud83d\Ude0f\Ud83d\Ude0f\Ud83e\Udee2";
"message_id" = 23812;
"message_type" = 0;
"prev_session_message_id" = 23811;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 15:15:32";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23815;
"message_type" = 0;
"prev_session_message_id" = 23814;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23815, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-06 15:15:32";
"file_name" = "";
message = "\Ud83e\Udee6\Ud83e\Udee6";
"message_id" = 23815;
"message_type" = 0;
"prev_session_message_id" = 23814;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23815]
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU]
datesent = "2026-03-06 15:21:36";
"file_name" = "";
message = "IMU AND INU";
"message_id" = 23817;
"message_type" = 0;
"prev_session_message_id" = 23816;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23817, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}]
datesent = "2026-03-06 15:21:36";
"file_name" = "";
message = "IMU AND INU";
"message_id" = 23817;
"message_type" = 0;
"prev_session_message_id" = 23816;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 2;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23817, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23817]
"content-available" = 1;
}, AnyHashable("message_id"): 23817, AnyHashable("session_id"): ILUIWU]
"content-available" = 1;
}, AnyHashable("message_id"): 23816, AnyHashable("session_id"): ILUIWU]
[17:33:18] [NETWORK] Status changed: connected
[17:33:18] [PUSH] Notification tapped - session_id: ILUIWU
[17:33:18] [PUSH] Max message_id before tap: 23823
[17:33:18] [PUSH] Stored pending session: ILUIWU
[17:33:18] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:33:18 +0000
[17:33:18] [PUSH_TRACE] ⬇️ Processing embedded message_id=23824
[17:33:18] [PUSH_EMBED] 📩 Received embedded message: id=23824, type=0, sender=Esra
[17:33:18] [PUSH_TRACE] ⬇️ Message details: text="❤️...", datesent=2026-03-06 16:33:11
[17:33:18] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[17:33:18] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23824
[17:33:18] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23824
[17:33:18] [PUSH_EMBED] ✅ Saved message 23824 to local DB (sync)
[17:33:18] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23824
[17:33:18] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23824
[17:33:18] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23824
[17:33:18] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[]
[17:33:18] [PUSH_EMBED] Created new cache with embedded message 23824
[17:33:18] [PUSH_TRACE] 📦 ✅ Created new cache with message 23824
[17:33:18] [PUSH_TRACE] 📦 EXITING cache update queue for message 23824
[17:33:18] [PUSH_EMBED] Fetching evolution data for message 23824 in background
[17:33:18] [PUSH_EMBED] ✅ Fully processed message 23824
[17:33:18] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23824
[17:33:18] [PUSH] Embedded message handled instantly on tap
[17:33:18] [PUSH] Fetching server messages since_id=23823 to catch coalesced notifications on tap
[17:33:18] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[17:33:18] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23823 to catch coalesced notifications
[17:33:18] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[17:33:18] [PUSH_PRELOAD] Fetching messages for instant display cache
[17:33:18] [LIFECYCLE] App entering foreground - restoring connections
[17:33:18] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814]
[17:33:18] [PUSH_TRACE] 🔄 FOREGROUND: cache has 1 msgs, valid=true, IDs=[23824]
[17:33:18] [LIFECYCLE] Away > 2 minutes (3826s) - will scroll to bottom
[17:33:18] [UPLOAD_RETRY] No pending uploads to retry
[17:33:18] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[17:33:18] [READBY_OPT] Fetching readBy for 6 unsettled messages (targeted)
[17:33:18] [LIFECYCLE] WebRTC audio re-enabled
[17:33:18] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[17:33:18] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[17:33:18] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[17:33:18] [VIEWER] Reconnecting after background - querying agents
[17:33:18] [UNSENT_RETRY] Checking for unsent messages...
[17:33:18] [PENDING_UPLOAD] Total pending upload messages: 0
[17:33:18] [UNSENT_RETRY] No unsent messages found
[17:33:18] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:18] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:18] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[17:33:18] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[17:33:18] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[17:33:18] [PUSH_TRACE] 👁️ Received message id=23824, text="❤️..."
[17:33:18] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[17:33:18] [PUSH_TRACE] 👁️ BEFORE insert: 50 messages, first 5 IDs: [23823, 23822, 23821, 23820, 23819]
[17:33:18] [PUSH_TRACE] 👁️ Inserted message 23824 at index 0
[17:33:18] [PUSH_UI] Inserted message 23824 into UI (now 51 messages)
[17:33:18] [PUSH_TRACE] 👁️ AFTER insert: 51 messages, first 5 IDs: [23824, 23823, 23822, 23821, 23820]
[17:33:18] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[17:33:18] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[17:33:18] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[17:33:19] [NETWORK] Status changed: connected
[17:33:19] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=64
[17:33:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23824, 23823, 23822, 23821, 23820]
[17:33:19] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[17:33:19] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815]
[17:33:19] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[17:33:19] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[17:33:19] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23823 → 23824
[17:33:19] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=66
[17:33:19] [CLIENT_SIG] WebSocket opened
[17:33:19] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[17:33:19] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:19] HELLO → sent (cached token, role=query)
[17:33:19] [PUSH_EMBED] Got evolution data for message 23824, saving to local DB
[17:33:19] [PUSH_EMBED] Saved evolution data for message 23824
[17:33:19] [CLIENT_SIG] Connected! clientId=O71X66z6hueJ8N5v
[17:33:19] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:19] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:19] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:19] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:19] [CLEANUP] ========================================
[17:33:19] [CLEANUP] Cleaning up all agent connections and views
[17:33:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:19] [CLEANUP] Stopped and removed 0 video connections
[17:33:19] [CLEANUP] Removed 0 video views
[17:33:19] [CLEANUP] Removed 0 feed scroll views
[17:33:19] [CLEANUP] Removed 0 status labels
[17:33:19] [CLEANUP] Reset agent query state
[17:33:19] [CLEANUP] Updated page indicator
[17:33:19] [CLEANUP] Rebuilt video layout
[17:33:19] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:19] [CLEANUP] ========================================
[17:33:19] [SERVER] Starting reconnect polling (5s interval)
[17:33:19] [CLEANUP] ========================================
[17:33:19] [CLEANUP] Cleaning up all agent connections and views
[17:33:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:19] [CLEANUP] Stopped and removed 0 video connections
[17:33:19] [CLEANUP] Removed 0 video views
[17:33:19] [CLEANUP] Removed 0 feed scroll views
[17:33:19] [CLEANUP] Removed 0 status labels
[17:33:19] [CLEANUP] Reset agent query state
[17:33:19] [CLEANUP] Updated page indicator
[17:33:19] [CLEANUP] Rebuilt video layout
[17:33:19] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:19] [CLEANUP] ========================================
[17:33:19] [SERVER] Starting reconnect polling (5s interval)
[17:33:19] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[17:33:19] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[17:33:19] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[17:33:19] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[17:33:19] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[17:33:19] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815]
[17:33:19] [PUSH] handlePollEventsNotification userInfo: [:]
[17:33:19] [PUSH] No message_id in userInfo
[17:33:19] [PUSH] No operation_type in userInfo
[17:33:19] [FAST_REFRESH] Evolution disabled - performing incremental sync
[17:33:19] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=1, IDs=[23824]
[17:33:19] [PUSH_TRACE] 📬 POLL: memory state: count=51, first 10 IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815]
[17:33:19] [FAST_REFRESH] Already have 51 messages in memory
[17:33:19] [FAST_REFRESH] maxMemoryId=23824, maxLocalId=23824
[17:33:19] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[17:33:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[17:33:19] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[17:33:19] [READBY_OPT] Fetching readBy for 6 unsettled messages (targeted)
[17:33:19] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[17:33:19] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23824, maxMemoryId=23824
[17:33:19] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23824
[17:33:19] [COMBINED_FETCH] Loaded 6 read receipts, 0 messages with reactions
[17:33:19] [FOREGROUND] Enriched 6/6 unsettled messages with readBy data
[17:33:19] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=51>50=true, maxId=23824>23823=true, shouldScroll=true
[17:33:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[17:33:19] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[17:33:19] [PUSH_PRELOAD] Fetched 1 messages - caching for instant display
[17:33:19] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=1, sessionId=ILUIWU
[17:33:19] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23824]
[17:33:19] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=1, IDs=[23824]
[17:33:19] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[17:33:19] [PUSH_TRACE] 🔀 mergeMessages: merged.count=1, first 10 IDs=[23824]
[17:33:19] [PUSH_PRELOAD] ⚡ Pre-cached 1 messages for instant display (preserved 0 from push)
[17:33:19] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[17:33:19] [PUSH] Server fetch on tap completed (success=true)
[17:33:19] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815]
[17:33:19] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23824, AnyHashable("message_data"): {
datesent = "2026-03-06 16:33:11";
"file_name" = "";
message = "\U2764\Ufe0f";
"message_id" = 23824;
"message_type" = 0;
"prev_session_message_id" = 23823;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[17:33:19] [PUSH_EMBED_VC] Message 23824 already in memory - skipping
[17:33:19] [PUSH] ⚡ Embedded message handled directly in ViewController
[17:33:19] [PUSH] Parsed message_id: 23824
[17:33:19] [PUSH] Parsed operation_type: 0
[17:33:19] [PUSH] Taking direct action: opType=0, messageId=23824
[17:33:19] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23824
[17:33:19] [PUSH] ⚡ Message 23824 already in memory - skipping duplicate notification entirely
[17:33:19] [COMBINED_FETCH] Loaded 6 read receipts, 0 messages with reactions
[17:33:19] [FAST_REFRESH] Enriched 6/6 unsettled messages with readBy data
[17:33:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[17:33:19] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[17:33:19] [INCREMENTAL_SYNC] ✅ No new messages
[17:33:19] [FAST_REFRESH] Incremental sync complete - 51 messages
[17:33:19] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=66
[17:33:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23824, 23823, 23822, 23821, 23820]
[17:33:19] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[17:33:19] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815]
[17:33:19] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[17:33:19] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[17:33:19] [SCROLL] 💓 alive, visible=41...51, rows=52, estHeight=0.0, heightCalls=0
[17:33:19] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63
[17:33:19] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)[17:33:20] [LOG] Pruned 1070 entries older than 3 hours
[17:33:20] [SECURITY] Restored real session: ILUIWU
[17:33:20] [SECURITY] Restored real session: ILUIWU
[17:33:20] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:20] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:20] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:20] HELLO → sent (cached token, role=query)
[17:33:20] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[17:33:20] [FAKE MODE] Exiting fake mode, restoring real session
[17:33:20] [SECURITY] Restored real session: ILUIWU
[17:33:20] [SECURITY] Saved real session: ILUIWU
[17:33:20] [FAKE MODE] ✅ Restored real session: ILUIWU
[17:33:20] [FAKE MODE] Loaded 50 messages (limited to page size)
[17:33:20] [READBY_OPT] No message IDs to fetch - skipping server call
[17:33:20] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[17:33:20] [AUTH] Cache had 1 messages, maxExistingId=23824, inserted 0 truly new
[17:33:20] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23824>23823=true, shouldScroll=true
[17:33:20] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[17:33:20] [AUTH] UI update complete
[17:33:21] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data
[17:33:21] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[17:33:21] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[17:33:21] [SCROLL] 💓 alive, visible=40...50, rows=51, estHeight=0.0, heightCalls=125
[17:33:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:21] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:21] [CLEANUP] ========================================
[17:33:21] [CLEANUP] Cleaning up all agent connections and views
[17:33:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:21] [CLEANUP] Stopped and removed 0 video connections
[17:33:21] [CLEANUP] Removed 0 video views
[17:33:21] [CLEANUP] Removed 0 feed scroll views
[17:33:21] [CLEANUP] Removed 0 status labels
[17:33:21] [CLEANUP] Reset agent query state
[17:33:21] [CLEANUP] Updated page indicator
[17:33:21] [CLEANUP] Rebuilt video layout
[17:33:21] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:21] [CLEANUP] ========================================
[17:33:21] [SERVER] Starting reconnect polling (5s interval)
[17:33:21] [CLEANUP] ========================================
[17:33:21] [CLEANUP] Cleaning up all agent connections and views
[17:33:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:21] [CLEANUP] Stopped and removed 0 video connections
[17:33:21] [CLEANUP] Removed 0 video views
[17:33:21] [CLEANUP] Removed 0 feed scroll views
[17:33:21] [CLEANUP] Removed 0 status labels
[17:33:21] [CLEANUP] Reset agent query state
[17:33:21] [CLEANUP] Updated page indicator
[17:33:21] [CLEANUP] Rebuilt video layout
[17:33:21] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:21] [CLEANUP] ========================================
[17:33:21] [SERVER] Starting reconnect polling (5s interval)
[17:33:21] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[17:33:21] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23824, 23823, 23822, 23821, 23820]
[17:33:21] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[17:33:21] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815]
[17:33:21] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[17:33:21] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[17:33:21] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=62
[17:33:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[17:33:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[17:33:22] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[17:33:22] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:22] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:22] [CLIENT_SIG] Event received: type=0 messageId=23825
[17:33:22] [WS_EVENT] Received event: type=0, messageId=23825
[17:33:22] [WS_EVENT] 📨 New message notification (msgId=23825) - triggering incremental refresh, currentMsgCount=50
[17:33:22] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[17:33:22] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23824, maxMemoryId=23824
[17:33:22] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23824
[17:33:22] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 16:33:22 +0000 - type: unknown, operation_type: 0, message_id: 23825, session_id: ILUIWU, state: 0
[17:33:22] [PUSH_DEBUG] Full userInfo: [AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23825, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-06 16:33:19";
"file_name" = "";
message = "Yesss!!!!!";
"message_id" = 23825;
"message_type" = 0;
"prev_session_message_id" = 23824;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[17:33:22] [PUSH] App active - suppressing notification UI, posting internal event
[17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:33:22 +0000
[17:33:22] [PUSH_TRACE] ⬇️ Processing embedded message_id=23825
[17:33:22] [PUSH_EMBED] 📩 Received embedded message: id=23825, type=0, sender=Esra
[17:33:22] [PUSH_TRACE] ⬇️ Message details: text="Yesss!!!!!...", datesent=2026-03-06 16:33:19
[17:33:22] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[17:33:22] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23825
[17:33:22] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23825
[17:33:22] [PUSH_EMBED] ✅ Saved message 23825 to local DB (sync)
[17:33:22] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23825
[17:33:22] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23825
[17:33:22] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23825
[17:33:22] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[]
[17:33:22] [PUSH_EMBED] Created new cache with embedded message 23825
[17:33:22] [PUSH_TRACE] 📦 ✅ Created new cache with message 23825
[17:33:22] [PUSH_TRACE] 📦 EXITING cache update queue for message 23825
[17:33:22] [PUSH_EMBED] Fetching evolution data for message 23825 in background
[17:33:22] [PUSH_EMBED] ✅ Fully processed message 23825
[17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23825
[17:33:22] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815]
[17:33:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23825, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-06 16:33:19";
"file_name" = "";
message = "Yesss!!!!!";
"message_id" = 23825;
"message_type" = 0;
"prev_session_message_id" = 23824;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[17:33:22] [PUSH_EMBED_VC] Processing embedded message: id=23825, type=0, sender=Esra, prevId=23824
[17:33:22] [PUSH_EMBED_VC] Inserted message 23825 into allMessagesWithReadBy (now 51 messages)
[17:33:22] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[17:33:22] [PUSH_EMBED_VC] ✅ Previous message 23824 exists in memory
[17:33:22] [PUSH] ⚡ Embedded message handled directly in ViewController
[17:33:22] [PUSH] Parsed message_id: 23825
[17:33:22] [PUSH] Parsed operation_type: 0
[17:33:22] [PUSH] Taking direct action: opType=0, messageId=23825
[17:33:22] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23825
[17:33:22] [PUSH_EMBED_VC] Saved message 23825 to local DB
[17:33:22] [PUSH] ⚡ Message 23825 already in memory - skipping duplicate notification entirely
[17:33:22] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:22] HELLO → sent (cached token, role=query)
[17:33:22] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[17:33:22] [PUSH_TRACE] 👁️ Received message id=23825, text="Yesss!!!!!..."
[17:33:22] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[17:33:22] [PUSH_UI] Message 23825 already in memory - skipping insert
[17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[17:33:22] [PUSH] Silent push received
[17:33:22] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 16:33:22 +0000, appState=0, message_id=23825
[17:33:22] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=1, IDs=[23825]
[17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:33:22 +0000
[17:33:22] [PUSH_TRACE] ⬇️ Processing embedded message_id=23825
[17:33:22] [PUSH_EMBED] 📩 Received embedded message: id=23825, type=0, sender=Esra
[17:33:22] [PUSH_TRACE] ⬇️ Message details: text="Yesss!!!!!...", datesent=2026-03-06 16:33:19
[17:33:22] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[17:33:22] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23825
[17:33:22] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23825
[17:33:22] [PUSH_EMBED] ✅ Saved message 23825 to local DB (sync)
[17:33:22] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23825
[17:33:22] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23825
[17:33:22] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23825
[17:33:22] [PUSH_TRACE] 📦 Cache state: valid=true, count=1, IDs=[23825]
[17:33:22] [PUSH_TRACE] 📦 ⚠️ Message 23825 already in cache, skipping insert
[17:33:22] [PUSH_TRACE] 📦 EXITING cache update queue for message 23825
[17:33:22] [PUSH_EMBED] Fetching evolution data for message 23825 in background
[17:33:22] [PUSH_EMBED] ✅ Fully processed message 23825
[17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23825
[17:33:22] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[23825], handled=true
[17:33:22] [PUSH] Embedded message handled instantly from silent push
[17:33:22] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[17:33:22] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23825
[17:33:22] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[17:33:22] [PUSH_TRACE] 👁️ Received message id=23825, text="Yesss!!!!!..."
[17:33:22] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[17:33:22] [PUSH_UI] Message 23825 already in memory - skipping insert
[17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[17:33:22] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816]
[17:33:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23825, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-06 16:33:19";
"file_name" = "";
message = "Yesss!!!!!";
"message_id" = 23825;
"message_type" = 0;
"prev_session_message_id" = 23824;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[17:33:22] [PUSH_EMBED_VC] Message 23825 already in memory - skipping
[17:33:22] [PUSH] ⚡ Embedded message handled directly in ViewController
[17:33:22] [PUSH] Parsed message_id: 23825
[17:33:22] [PUSH] Parsed operation_type: 0
[17:33:22] [PUSH] Taking direct action: opType=0, messageId=23825
[17:33:22] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23825
[17:33:22] [PUSH] ⚡ Message 23825 already in memory - skipping duplicate notification entirely
[17:33:22] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[17:33:22] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[17:33:22] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:22] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:22] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:22] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:22] [CLEANUP] ========================================
[17:33:22] [CLEANUP] Cleaning up all agent connections and views
[17:33:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:22] [CLEANUP] Stopped and removed 0 video connections
[17:33:22] [CLEANUP] Removed 0 video views
[17:33:22] [CLEANUP] Removed 0 feed scroll views
[17:33:22] [CLEANUP] Removed 0 status labels
[17:33:22] [CLEANUP] Reset agent query state
[17:33:22] [CLEANUP] Updated page indicator
[17:33:22] [CLEANUP] Rebuilt video layout
[17:33:22] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:22] [CLEANUP] ========================================
[17:33:22] [SERVER] Starting reconnect polling (5s interval)
[17:33:22] [CLEANUP] ========================================
[17:33:22] [CLEANUP] Cleaning up all agent connections and views
[17:33:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:22] [CLEANUP] Stopped and removed 0 video connections
[17:33:22] [CLEANUP] Removed 0 video views
[17:33:22] [CLEANUP] Removed 0 feed scroll views
[17:33:22] [CLEANUP] Removed 0 status labels
[17:33:22] [CLEANUP] Reset agent query state
[17:33:22] [CLEANUP] Updated page indicator
[17:33:22] [CLEANUP] Rebuilt video layout
[17:33:22] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:22] [CLEANUP] ========================================
[17:33:22] [SERVER] Starting reconnect polling (5s interval)
[17:33:22] [PUSH_EMBED] Got evolution data for message 23825, saving to local DB
[17:33:22] [PUSH_EMBED] Saved evolution data for message 23825
[17:33:22] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=62
[17:33:22] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23825, 23824, 23823, 23822, 23821]
[17:33:22] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[17:33:22] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816]
[17:33:22] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[17:33:22] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[17:33:22] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23824 → 23825
[17:33:22] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=64
[17:33:22] [SCROLL] 💓 alive, visible=41...51, rows=52, estHeight=0.0, heightCalls=117
[17:33:23] [PUSH_EMBED] Got evolution data for message 23825, saving to local DB
[17:33:23] [CLIENT_SIG] Event received: type=3 messageId=23824
[17:33:23] [WS_EVENT] Received event: type=3, messageId=23824
[17:33:23] [WS_EVENT] Read receipt for message 23824 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[17:33:23] [PUSH_EMBED] Saved evolution data for message 23825
[17:33:23] [USER] ✅ User registered successfully
[17:33:23] [PUSH] User registration after token update: success
[17:33:23] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[17:33:23] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23825]
[17:33:23] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 51 msgs, first 10 IDs=[23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816]
[17:33:23] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 0 new, total 51, first 10 IDs=[23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816]
[17:33:23] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[17:33:23] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[17:33:23] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[17:33:23] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[17:33:23] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23825, 23824, 23823, 23822, 23821]
[17:33:23] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[17:33:23] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816]
[17:33:23] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[17:33:23] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[17:33:23] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63
[17:33:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:24] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:24] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:24] HELLO → sent (cached token, role=query)
[17:33:24] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:24] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:24] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:24] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:24] [CLEANUP] ========================================
[17:33:24] [CLEANUP] Cleaning up all agent connections and views
[17:33:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:24] [CLEANUP] Stopped and removed 0 video connections
[17:33:24] [CLEANUP] Removed 0 video views
[17:33:24] [CLEANUP] Removed 0 feed scroll views
[17:33:24] [CLEANUP] Removed 0 status labels
[17:33:24] [CLEANUP] Reset agent query state
[17:33:24] [CLEANUP] Updated page indicator
[17:33:24] [CLEANUP] Rebuilt video layout
[17:33:24] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:24] [CLEANUP] ========================================
[17:33:24] [SERVER] Starting reconnect polling (5s interval)
[17:33:24] [CLEANUP] ========================================
[17:33:24] [CLEANUP] Cleaning up all agent connections and views
[17:33:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:24] [CLEANUP] Stopped and removed 0 video connections
[17:33:24] [CLEANUP] Removed 0 video views
[17:33:24] [CLEANUP] Removed 0 feed scroll views
[17:33:24] [CLEANUP] Removed 0 status labels
[17:33:24] [CLEANUP] Reset agent query state
[17:33:24] [CLEANUP] Updated page indicator
[17:33:24] [CLEANUP] Rebuilt video layout
[17:33:24] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:24] [CLEANUP] ========================================
[17:33:24] [SERVER] Starting reconnect polling (5s interval)
[17:33:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:26] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:26] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:26] HELLO → sent (cached token, role=query)
[17:33:26] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:26] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:26] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:26] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:26] [CLEANUP] ========================================
[17:33:26] [CLEANUP] Cleaning up all agent connections and views
[17:33:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:26] [CLEANUP] Stopped and removed 0 video connections
[17:33:26] [CLEANUP] Removed 0 video views
[17:33:26] [CLEANUP] Removed 0 feed scroll views
[17:33:26] [CLEANUP] Removed 0 status labels
[17:33:26] [CLEANUP] Reset agent query state
[17:33:26] [CLEANUP] Updated page indicator
[17:33:26] [CLEANUP] Rebuilt video layout
[17:33:26] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:26] [CLEANUP] ========================================
[17:33:26] [SERVER] Starting reconnect polling (5s interval)
[17:33:26] [CLEANUP] ========================================
[17:33:26] [CLEANUP] Cleaning up all agent connections and views
[17:33:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:26] [CLEANUP] Stopped and removed 0 video connections
[17:33:26] [CLEANUP] Removed 0 video views
[17:33:26] [CLEANUP] Removed 0 feed scroll views
[17:33:26] [CLEANUP] Removed 0 status labels
[17:33:26] [CLEANUP] Reset agent query state
[17:33:26] [CLEANUP] Updated page indicator
[17:33:26] [CLEANUP] Rebuilt video layout
[17:33:26] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:26] [CLEANUP] ========================================
[17:33:26] [SERVER] Starting reconnect polling (5s interval)
[17:33:26] [SCROLL] 💓 alive, visible=41...51, rows=52, estHeight=0.0, heightCalls=63
[17:33:27] [CLIENT_SIG] Event received: type=3 messageId=23825
[17:33:27] [WS_EVENT] Received event: type=3, messageId=23825
[17:33:27] [WS_EVENT] Read receipt for message 23825 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[17:33:27] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:27] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:28] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:28] HELLO → sent (cached token, role=query)
[17:33:28] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:28] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:28] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:28] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:28] [CLEANUP] ========================================
[17:33:28] [CLEANUP] Cleaning up all agent connections and views
[17:33:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:28] [CLEANUP] Stopped and removed 0 video connections
[17:33:28] [CLEANUP] Removed 0 video views
[17:33:28] [CLEANUP] Removed 0 feed scroll views
[17:33:28] [CLEANUP] Removed 0 status labels
[17:33:28] [CLEANUP] Reset agent query state
[17:33:28] [CLEANUP] Updated page indicator
[17:33:28] [CLEANUP] Rebuilt video layout
[17:33:28] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:28] [CLEANUP] ========================================
[17:33:28] [SERVER] Starting reconnect polling (5s interval)
[17:33:28] [CLEANUP] ========================================
[17:33:28] [CLEANUP] Cleaning up all agent connections and views
[17:33:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:28] [CLEANUP] Stopped and removed 0 video connections
[17:33:28] [CLEANUP] Removed 0 video views
[17:33:28] [CLEANUP] Removed 0 feed scroll views
[17:33:28] [CLEANUP] Removed 0 status labels
[17:33:28] [CLEANUP] Reset agent query state
[17:33:28] [CLEANUP] Updated page indicator
[17:33:28] [CLEANUP] Rebuilt video layout
[17:33:28] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:28] [CLEANUP] ========================================
[17:33:28] [SERVER] Starting reconnect polling (5s interval)
[17:33:29] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[17:33:29] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=51, isReloading=false
[17:33:29] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=52
[17:33:29] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[17:33:29] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[-1, 23825, 23824, 23823, 23822]
[17:33:29] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[17:33:29] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817]
[17:33:29] [RELOAD_TAB] 📊 Building chatRows from 52 messages
[17:33:29] [RELOAD_TAB] 📊 Built 53 chatRows, estHeight=0.0
[17:33:29] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[17:33:29] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[17:33:29] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[17:33:29] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:29] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:29] [SCROLL] 💓 alive, visible=46...52, rows=53, estHeight=0.0, heightCalls=115
[17:33:29] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:29] HELLO → sent (cached token, role=query)
[17:33:29] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:29] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:29] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:29] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:29] [CLEANUP] ========================================
[17:33:29] [CLEANUP] Cleaning up all agent connections and views
[17:33:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:29] [CLEANUP] Stopped and removed 0 video connections
[17:33:29] [CLEANUP] Removed 0 video views
[17:33:29] [CLEANUP] Removed 0 feed scroll views
[17:33:29] [CLEANUP] Removed 0 status labels
[17:33:29] [CLEANUP] Reset agent query state
[17:33:29] [CLEANUP] Updated page indicator
[17:33:29] [CLEANUP] Rebuilt video layout
[17:33:29] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:29] [CLEANUP] ========================================
[17:33:29] [SERVER] Starting reconnect polling (5s interval)
[17:33:29] [CLEANUP] ========================================
[17:33:29] [CLEANUP] Cleaning up all agent connections and views
[17:33:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:29] [CLEANUP] Stopped and removed 0 video connections
[17:33:29] [CLEANUP] Removed 0 video views
[17:33:29] [CLEANUP] Removed 0 feed scroll views
[17:33:29] [CLEANUP] Removed 0 status labels
[17:33:29] [CLEANUP] Reset agent query state
[17:33:29] [CLEANUP] Updated page indicator
[17:33:29] [CLEANUP] Rebuilt video layout
[17:33:29] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:29] [CLEANUP] ========================================
[17:33:29] [SERVER] Starting reconnect polling (5s interval)
[17:33:30] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[17:33:30] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=52, isReloading=false
[17:33:30] [SEND_MESSAGE] ✅ Added optimistic message id=-2 to arrays, newMsgCount=53
[17:33:30] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[17:33:30] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[-2, -1, 23825, 23824, 23823]
[17:33:30] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages
[17:33:30] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-2, -1, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818]
[17:33:30] [RELOAD_TAB] 📊 Building chatRows from 53 messages
[17:33:30] [RELOAD_TAB] 📊 Built 54 chatRows, estHeight=0.0
[17:33:30] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[17:33:30] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[17:33:30] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[17:33:30] [SCROLL] 💓 alive, visible=49...53, rows=54, estHeight=0.0, heightCalls=116
[17:33:31] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[17:33:31] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=53, isReloading=false
[17:33:31] [SEND_MESSAGE] ✅ Added optimistic message id=-3 to arrays, newMsgCount=54
[17:33:31] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[17:33:31] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[-3, -2, -1, 23825, 23824]
[17:33:31] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages
[17:33:31] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-3, -2, -1, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:33:31] [RELOAD_TAB] 📊 Building chatRows from 54 messages
[17:33:31] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0
[17:33:31] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61
[17:33:31] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[17:33:31] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[17:33:31] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:31] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:31] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:31] HELLO → sent (cached token, role=query)
[17:33:31] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:31] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:31] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:31] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:31] [CLEANUP] ========================================
[17:33:31] [CLEANUP] Cleaning up all agent connections and views
[17:33:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:31] [CLEANUP] Stopped and removed 0 video connections
[17:33:31] [CLEANUP] Removed 0 video views
[17:33:31] [CLEANUP] Removed 0 feed scroll views
[17:33:31] [CLEANUP] Removed 0 status labels
[17:33:31] [CLEANUP] Reset agent query state
[17:33:31] [CLEANUP] Updated page indicator
[17:33:31] [CLEANUP] Rebuilt video layout
[17:33:31] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:31] [CLEANUP] ========================================
[17:33:31] [SERVER] Starting reconnect polling (5s interval)
[17:33:31] [CLEANUP] ========================================
[17:33:31] [CLEANUP] Cleaning up all agent connections and views
[17:33:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:31] [CLEANUP] Stopped and removed 0 video connections
[17:33:31] [CLEANUP] Removed 0 video views
[17:33:31] [CLEANUP] Removed 0 feed scroll views
[17:33:31] [CLEANUP] Removed 0 status labels
[17:33:31] [CLEANUP] Reset agent query state
[17:33:31] [CLEANUP] Updated page indicator
[17:33:31] [CLEANUP] Rebuilt video layout
[17:33:31] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:31] [CLEANUP] ========================================
[17:33:31] [SERVER] Starting reconnect polling (5s interval)
[17:33:32] [CLIENT_SIG] Event received: type=0 messageId=23826
[17:33:32] [WS_EVENT] Received event: type=0, messageId=23826
[17:33:32] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23826,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 16:33:29"}
[17:33:32] [WS_EVENT] 📨 New message notification (msgId=23826) - triggering incremental refresh, currentMsgCount=54
[17:33:32] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=54
[17:33:32] [CHAT] receive_message.php JSON: ["message_id": 23826, "session_id": ILUIWU, "ok": 1, "datesent_utc": 2026-03-06 16:33:29, "message_type": 0, "file_name": ]
[17:33:32] [DB_UPGRADE] Upgrading message ID: -1 → 23826, preserveOriginalDate=false
[17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23825, maxMemoryId=23825
[17:33:32] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23825
[17:33:32] [DB_UPGRADE] ✅ Upgraded -1 → 23826 with send_status=0, 1 row(s) affected
[17:33:32] [SEND_UPGRADE] ✅ Updated chatMessages[2].id: -1 → 23826
[17:33:32] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[2].id: -1 → 23826
[17:33:32] ReloadData 9
[17:33:32] [INCREMENTAL_SYNC] ✅ Found 2 new messages
[17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 2 new messages, IDs=[23827, 23826]
[17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 54 msgs, first 10 IDs=[-3, -2, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23827
[17:33:32] [INCREMENTAL_SYNC] Replaced optimistic message (id=-3) with server message (id=23827)
[17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 54, first 10 IDs=[-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:33:32] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=2
[17:33:32] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[17:33:32] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=54
[17:33:33] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=178
[17:33:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[-2, 23827, 23826, 23825, 23824]
[17:33:33] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages
[17:33:33] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:33:33] [RELOAD_TAB] 📊 Building chatRows from 54 messages
[17:33:33] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0
[17:33:33] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[17:33:33] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:33] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:33:33] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:33] HELLO → sent (cached token, role=query)
[17:33:33] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:33:33] [WS] Query connection failed - cleaning up all agent connections and views
[17:33:33] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:33:33] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:33:33] [CLEANUP] ========================================
[17:33:33] [CLEANUP] Cleaning up all agent connections and views
[17:33:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:33] [CLEANUP] Stopped and removed 0 video connections
[17:33:33] [CLEANUP] Removed 0 video views
[17:33:33] [CLEANUP] Removed 0 feed scroll views
[17:33:33] [CLEANUP] Removed 0 status labels
[17:33:33] [CLEANUP] Reset agent query state
[17:33:33] [CLEANUP] Updated page indicator
[17:33:33] [CLEANUP] Rebuilt video layout
[17:33:33] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:33] [CLEANUP] ========================================
[17:33:33] [SERVER] Starting reconnect polling (5s interval)
[17:33:33] [CLEANUP] ========================================
[17:33:33] [CLEANUP] Cleaning up all agent connections and views
[17:33:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:33:33] [CLEANUP] Stopped and removed 0 video connections
[17:33:33] [CLEANUP] Removed 0 video views
[17:33:33] [CLEANUP] Removed 0 feed scroll views
[17:33:33] [CLEANUP] Removed 0 status labels
[17:33:33] [CLEANUP] Reset agent query state
[17:33:33] [CLEANUP] Updated page indicator
[17:33:33] [CLEANUP] Rebuilt video layout
[17:33:33] [CLEANUP] ✅ All agent connections and views cleaned up
[17:33:33] [CLEANUP] ========================================
[17:33:33] [SERVER] Starting reconnect polling (5s interval)
[17:33:33] [LIFECYCLE] App resigning active - cleared crash flag
[17:33:34] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[17:33:34] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[17:33:34] [SECURITY] Saved background timestamp
[17:33:34] [LIFECYCLE] App entering background - cleared crash flag
[17:33:34] [CLIENT_SIG] Disconnecting
[17:33:34] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[17:33:34] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[17:33:34] [PUSH_TRACE] 💤 BACKGROUND: memory has 54 messages, first 10 IDs=[-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:33:34] [LIFECYCLE] Background snapshot: count=54, maxId=23827
[17:33:34] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[17:33:34] [WS] Canceling WebSocket for query connection to iosILUIWU
[17:33:34] In cleanupPeer
[17:33:34] In cleanupPeer
[17:33:34] [LIFECYCLE] WebRTC audio disabled
[17:33:34] [LIFECYCLE] AVAudioSession deactivated
[17:33:34] [LIFECYCLE] All connections stopped
[17:33:34] [CLIENT_SIG] WebSocket closed with code 1001
[17:33:34] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[17:33:34] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[17:33:34] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[17:33:34] [SERVER] Stopped reconnect polling
[17:33:34] [WS] URLSession invalidated successfully
[17:33:34] Will request stop of video 0
[17:33:34] Will request stop of video 0
[17:33:34] [PIP] Removing 0 tracks from PiP for connection 0
[17:33:34] [PIP] ✅ All tracks removed for connection 0
[17:33:34] [PIP] Removing 0 tracks from PiP for connection 0
[17:33:34] [PIP] ✅ All tracks removed for connection 0
[17:33:34] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:33:34] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:42] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[17:35:42] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[17:35:42] [WS] Query connection error - cleaning up all agent connections and views
[17:35:42] [WS] Connection failed: The request timed out.
[17:35:42] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:42] [PUSH] Notification tapped - session_id: ILUIWU
[17:35:42] [PUSH] Max message_id before tap: 23827
[17:35:42] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x12ecbef70 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <18F26FA5-958A-4DB1-B992-54E64C37EC03>.<36>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <18F26FA5-958A-4DB1-B992-54E64C37EC03>.<36>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
[17:35:42] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x12ecbd5f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <1FDD2F0F-612D-411D-B036-492C859887F3>.<37>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <1FDD2F0F-612D-411D-B036-492C859887F3>.<37>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
[17:35:42] [PUSH] Stored pending session: ILUIWU
[17:35:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:35:42 +0000
[17:35:42] [PUSH_TRACE] ⬇️ Processing embedded message_id=23829
[17:35:42] [PUSH_EMBED] 📩 Received embedded message: id=23829, type=0, sender=Esra
[17:35:42] [PUSH_TRACE] ⬇️ Message details: text="You are tooooo much 🤤🤤🤤🤤🤤...", datesent=2026-03-06 16:35:39
[17:35:42] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[17:35:42] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23829
[17:35:42] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23829
[17:35:42] [PUSH_EMBED] ✅ Saved message 23829 to local DB (sync)
[17:35:42] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23829
[17:35:42] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23829
[17:35:42] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23829
[17:35:42] [PUSH_TRACE] 📦 Cache state: valid=true, count=1, IDs=[23825]
[17:35:42] [PUSH_EMBED] Inserted message 23829 into existing cache (now 2 messages)
[17:35:42] [PUSH_TRACE] 📦 ✅ Inserted message 23829, cache now has IDs: [23829, 23825]
[17:35:42] [PUSH_TRACE] 📦 EXITING cache update queue for message 23829
[17:35:42] [PUSH_EMBED] Fetching evolution data for message 23829 in background
[17:35:42] [PUSH_EMBED] ✅ Fully processed message 23829
[17:35:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23829
[17:35:42] [PUSH] Embedded message handled instantly on tap
[17:35:42] [SECURITY] Timeout check: elapsed=128.40721321105957s, timeout=300.0s
[17:35:42] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[17:35:42] [PUSH] Fetching server messages since_id=23827 to catch coalesced notifications on tap
[17:35:42] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[17:35:42] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23827 to catch coalesced notifications
[17:35:42] [PUSH_PRELOAD] Fetching messages for instant display cache
[17:35:42] [LIFECYCLE] App entering foreground - restoring connections
[17:35:42] [PUSH_TRACE] 🔄 FOREGROUND: memory has 54 msgs, IDs=[-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:35:42] [PUSH_TRACE] 🔄 FOREGROUND: cache has 2 msgs, valid=true, IDs=[23829, 23825]
[17:35:42] [LIFECYCLE] Away > 2 minutes (128s) - will scroll to bottom
[17:35:42] [UPLOAD_RETRY] No pending uploads to retry
[17:35:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[17:35:42] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[17:35:42] [LIFECYCLE] WebRTC audio re-enabled
[17:35:42] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[17:35:42] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[17:35:42] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[17:35:42] [VIEWER] Reconnecting after background - querying agents
[17:35:42] [UNSENT_RETRY] Checking for unsent messages...
[17:35:42] [NETWORK] Status changed: connected
[17:35:42] [PENDING_UPLOAD] Found pending message: id=-2, file=, uploadStatus=0, sendStatus=1
[17:35:42] [PENDING_UPLOAD] Total pending upload messages: 1
[17:35:42] [UNSENT_RETRY] ⏰ Found stuck 'sending' message id=-2, age=132s - will retry
[17:35:42] [UNSENT_RETRY] 🔄 Found 1 unsent messages from me to retry
[17:35:42] [UNSENT_RETRY] 🔄 Retrying message id=-2, type=0, file=
[17:35:42] [SEND_STATUS] 💾 Updating DB: messageId=-2, status=1 (sending)
[17:35:42] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-2
[17:35:42] [UNSENT_RETRY] 🔑 Including client_message_id=EBAC08F4-0E69-4459-B9EC-90D76BC80636 for idempotent retry
[17:35:42] [UNSENT_RETRY] 📤 Sending message id=-2 to server
[17:35:42] [CLEANUP] ========================================
[17:35:42] [CLEANUP] Cleaning up all agent connections and views
[17:35:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:42] [CLEANUP] Stopped and removed 0 video connections
[17:35:42] [CLEANUP] Removed 0 video views
[17:35:42] [CLEANUP] Removed 0 feed scroll views
[17:35:42] [CLEANUP] Removed 0 status labels
[17:35:42] [CLEANUP] Reset agent query state
[17:35:42] [CLEANUP] Updated page indicator
[17:35:42] [CLEANUP] Rebuilt video layout
[17:35:42] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:42] [CLEANUP] ========================================
[17:35:42] [SERVER] Starting reconnect polling (5s interval)
[17:35:42] [CLEANUP] ========================================
[17:35:42] [CLEANUP] Cleaning up all agent connections and views
[17:35:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:42] [CLEANUP] Stopped and removed 0 video connections
[17:35:42] [CLEANUP] Removed 0 video views
[17:35:42] [CLEANUP] Removed 0 feed scroll views
[17:35:42] [CLEANUP] Removed 0 status labels
[17:35:42] [CLEANUP] Reset agent query state
[17:35:42] [CLEANUP] Updated page indicator
[17:35:42] [CLEANUP] Rebuilt video layout
[17:35:42] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:42] [CLEANUP] ========================================
[17:35:42] [SERVER] Starting reconnect polling (5s interval)
[17:35:42] [CHAT] Network error detected - queuing for retry
[17:35:42] [SEND_STATUS] 💾 Updating DB: messageId=-2, status=3 (pending_retry)
[17:35:42] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-2
[17:35:42] [SEND_STATUS] ⏳ Message -2 marked as PENDING RETRY (waiting for network)
[17:35:42] [CHAT] Network error detected - queuing for retry
[17:35:42] [SEND_STATUS] 💾 Updating DB: messageId=-3, status=3 (pending_retry)
[17:35:42] [SEND_STATUS] ⚠️ DB update: 0 rows affected - messageId=-3 not found in local_messages
[17:35:42] [SEND_STATUS] ⏳ Message -3 marked as PENDING RETRY (waiting for network)
[17:35:42] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[17:35:42] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[17:35:42] [PUSH_TRACE] 👁️ Received message id=23829, text="You are tooooo much 🤤🤤🤤🤤🤤..."
[17:35:42] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[17:35:42] [PUSH_TRACE] 👁️ BEFORE insert: 54 messages, first 5 IDs: [-2, 23827, 23826, 23825, 23824]
[17:35:42] [PUSH_TRACE] 👁️ Inserted message 23829 at index 0
[17:35:42] [PUSH_UI] Inserted message 23829 into UI (now 55 messages)
[17:35:42] [PUSH_TRACE] 👁️ AFTER insert: 55 messages, first 5 IDs: [23829, -2, 23827, 23826, 23825]
[17:35:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=55
[17:35:42] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[17:35:42] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[17:35:42] [CLIENT_SIG] WebSocket opened
[17:35:42] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[17:35:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=180
[17:35:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=55, first5Ids=[23829, -2, 23827, 23826, 23825]
[17:35:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 55 messages
[17:35:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23829, -2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[17:35:43] [RELOAD_TAB] 📊 Building chatRows from 55 messages
[17:35:43] [RELOAD_TAB] 📊 Built 56 chatRows, estHeight=0.0
[17:35:43] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23827 → 23829
[17:35:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=62
[17:35:43] [CLIENT_SIG] Connected! clientId=QPhI9Ohlisn5lInw
[17:35:43] [PUSH_EMBED] Got evolution data for message 23829, saving to local DB
[17:35:43] [PUSH_EMBED] Saved evolution data for message 23829
[17:35:43] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[17:35:43] [FOREGROUND] Enriched 2/2 unsettled messages with readBy data
[17:35:43] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=55>54=true, maxId=23829>23827=true, shouldScroll=true
[17:35:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=55
[17:35:43] [UNSENT_RETRY] 📥 receive_message.php HTTP 200: {"ok":true,"message_id":23827,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 16:33:30","idempotent":true}
[17:35:43] [UNSENT_RETRY] ✅ Message synced (IDEMPOTENT - server already had it)! Old id=-2 → existing server id=23827
[17:35:43] [DB_UPGRADE] Upgrading message ID: -2 → 23827, preserveOriginalDate=true
[17:35:43] [DB_UPGRADE] ❌ Step fail: UNIQUE constraint failed: local_messages.message_id
[17:35:43] [UNSENT_RETRY] ⚠️ Server ID 23827 already exists in array - removing provisional entry -2 (duplicate from background sync)
[17:35:43] ReloadData unsent_retry
[17:35:43] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[17:35:43] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[17:35:43] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[17:35:43] [PUSH_PRELOAD] Fetched 2 messages - caching for instant display
[17:35:43] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=2, sessionId=ILUIWU
[17:35:43] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23829, 23828]
[17:35:43] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=2, IDs=[23829, 23825]
[17:35:43] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23825]
[17:35:43] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23825]
[17:35:43] [PUSH_TRACE] 🔀 mergeMessages: merged.count=3, first 10 IDs=[23829, 23828, 23825]
[17:35:43] [PUSH_PRELOAD] ⚡ Pre-cached 3 messages for instant display (preserved 1 from push)
[17:35:43] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[17:35:43] [PUSH] Server fetch on tap completed (success=true)
[17:35:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:35:43] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23829, AnyHashable("message_data"): {
datesent = "2026-03-06 16:35:39";
"file_name" = "";
message = "You are tooooo much \Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24";
"message_id" = 23829;
"message_type" = 0;
"prev_session_message_id" = 23828;
"replied_message" = "Time to goooo";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23779;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0]
[17:35:43] [PUSH_EMBED_VC] Message 23829 already in memory - skipping
[17:35:43] [PUSH] ⚡ Embedded message handled directly in ViewController
[17:35:43] [PUSH] Parsed message_id: 23829
[17:35:43] [PUSH] Parsed operation_type: 0
[17:35:43] [PUSH] Taking direct action: opType=0, messageId=23829
[17:35:43] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23829
[17:35:43] [PUSH] ⚡ Message 23829 already in memory - skipping duplicate notification entirely
[17:35:43] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[17:35:43] [SECURITY] Within timeout - cleared background flag
[17:35:43] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[17:35:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:35:43] [PUSH] handlePollEventsNotification userInfo: [:]
[17:35:43] [PUSH] No message_id in userInfo
[17:35:43] [PUSH] No operation_type in userInfo
[17:35:43] [FAST_REFRESH] Evolution disabled - performing incremental sync
[17:35:43] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=3, IDs=[23829, 23828, 23825]
[17:35:43] [PUSH_TRACE] 📬 POLL: memory state: count=54, first 10 IDs=[23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:35:43] [FAST_REFRESH] Already have 54 messages in memory
[17:35:43] [FAST_REFRESH] maxMemoryId=23829, maxLocalId=23829
[17:35:43] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[17:35:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[17:35:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[17:35:43] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[17:35:43] [READBY_OPT] No message IDs to fetch - skipping server call
[17:35:43] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=54
[17:35:43] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23829, maxMemoryId=23829
[17:35:43] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23829
[17:35:43] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[17:35:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[17:35:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[17:35:43] [INCREMENTAL_SYNC] ✅ No new messages
[17:35:43] [FAST_REFRESH] Incremental sync complete - 54 messages
[17:35:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=122
[17:35:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[23829, 23827, 23826, 23825, 23824]
[17:35:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages
[17:35:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819]
[17:35:43] [RELOAD_TAB] 📊 Building chatRows from 54 messages
[17:35:43] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0
[17:35:43] [SCROLL] 💓 alive, visible=50...54, rows=55, estHeight=0.0, heightCalls=0
[17:35:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[17:35:44] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:44] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:44] HELLO → sent (cached token, role=query)
[17:35:44] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:44] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:44] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:44] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:44] [CLEANUP] ========================================
[17:35:44] [CLEANUP] Cleaning up all agent connections and views
[17:35:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:44] [CLEANUP] Stopped and removed 0 video connections
[17:35:44] [CLEANUP] Removed 0 video views
[17:35:44] [CLEANUP] Removed 0 feed scroll views
[17:35:44] [CLEANUP] Removed 0 status labels
[17:35:44] [CLEANUP] Reset agent query state
[17:35:44] [CLEANUP] Updated page indicator
[17:35:44] [CLEANUP] Rebuilt video layout
[17:35:44] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:44] [CLEANUP] ========================================
[17:35:44] [SERVER] Starting reconnect polling (5s interval)
[17:35:44] [CLEANUP] ========================================
[17:35:44] [CLEANUP] Cleaning up all agent connections and views
[17:35:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:44] [CLEANUP] Stopped and removed 0 video connections
[17:35:44] [CLEANUP] Removed 0 video views
[17:35:44] [CLEANUP] Removed 0 feed scroll views
[17:35:44] [CLEANUP] Removed 0 status labels
[17:35:44] [CLEANUP] Reset agent query state
[17:35:44] [CLEANUP] Updated page indicator
[17:35:44] [CLEANUP] Rebuilt video layout
[17:35:44] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:44] [CLEANUP] ========================================
[17:35:44] [SERVER] Starting reconnect polling (5s interval)
[17:35:45] [REPLY_TAP] Scrolling to message 23779 at index 5
[17:35:45] [SCROLL] 💓 alive, visible=50...54, rows=55, estHeight=0.0, heightCalls=61
[17:35:45] [SCROLL_BTN] Showing button - 341pt from bottom > half 223pt
[17:35:45] [PAGINATION] 🔄 Older triggered: firstVisible=5, totalRows=55
[17:35:45] [PAGINATION] 📜 Starting load, offset=50, totalLoaded=54
[17:35:45] [PAGINATION] 📜 DB returned 50 messages
[17:35:45] [PAGINATION] 📜 Loading 45 older messages, firstVisibleRow=5, oldOffset=606.0
[17:35:45] [PAGINATION] 📜 Total now: 99
[17:35:45] [PAGINATION] Switching estimatedRowHeight 0→60 (total=99 rows)
[17:35:45] [RELOAD_TAB] ⚡ performReload ENTER, skip=true, estHeight=60.0, heightCalls=35
[17:35:45] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=99, first5Ids=[23729, 23730, 23731, 23732, 23733]
[17:35:45] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 99 messages
[17:35:45] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23729, 23730, 23731, 23732, 23733, 23734, 23735, 23736, 23737, 23738]
[17:35:45] [RELOAD_TAB] 📊 Building chatRows from 99 messages
[17:35:45] [RELOAD_TAB] 📊 Built 101 chatRows, estHeight=60.0
[17:35:45] [RELOAD_TAB] 📊 reloadData() START, rows=101
[17:35:45] [RELOAD_TAB] 📊 reloadData() DONE, heightCalls=0
[17:35:45] [RELOAD_TAB] 📊 layoutIfNeeded() START
[17:35:45] [CELL_UPLOAD] configure: msgId=23750, file=70448a62c4d71b7c.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[17:35:45] [CELL_UPLOAD] → not my message, setting complete
[17:35:45] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=70448a62c4d71b7c.png, overlayExists=true
[17:35:45] [RELOAD_TAB] 📊 layoutIfNeeded() DONE, heightCalls=12
[17:35:45] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=12
[17:35:45] [PAGINATION] 📜 newHeight=6429.0, heightDiff=1266.0, newOffset=1872.0
[17:35:45] [PAGINATION] 📜 After setContentOffset, actual offset=1872.0
[17:35:45] [PAGINATION] 📜 Done, offset=1872.0
[17:35:45] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[17:35:45] [LOG-KB] textViewDidEndEditing: isInputField=true, resetting allowKeyboardDismiss to false
[17:35:46] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:46] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:46] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:46] HELLO → sent (cached token, role=query)
[17:35:46] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:46] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:46] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:46] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:46] [CLEANUP] ========================================
[17:35:46] [CLEANUP] Cleaning up all agent connections and views
[17:35:46] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:46] [CLEANUP] Stopped and removed 0 video connections
[17:35:46] [CLEANUP] Removed 0 video views
[17:35:46] [CLEANUP] Removed 0 feed scroll views
[17:35:46] [CLEANUP] Removed 0 status labels
[17:35:46] [CLEANUP] Reset agent query state
[17:35:46] [CLEANUP] Updated page indicator
[17:35:46] [CLEANUP] Rebuilt video layout
[17:35:46] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:46] [CLEANUP] ========================================
[17:35:46] [SERVER] Starting reconnect polling (5s interval)
[17:35:46] [CLEANUP] ========================================
[17:35:46] [CLEANUP] Cleaning up all agent connections and views
[17:35:46] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:46] [CLEANUP] Stopped and removed 0 video connections
[17:35:46] [CLEANUP] Removed 0 video views
[17:35:46] [CLEANUP] Removed 0 feed scroll views
[17:35:46] [CLEANUP] Removed 0 status labels
[17:35:46] [CLEANUP] Reset agent query state
[17:35:46] [CLEANUP] Updated page indicator
[17:35:46] [CLEANUP] Rebuilt video layout
[17:35:46] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:46] [CLEANUP] ========================================
[17:35:46] [SERVER] Starting reconnect polling (5s interval)
[17:35:46] [CLIENT_SIG] Event received: type=3 messageId=23829
[17:35:46] [WS_EVENT] Received event: type=3, messageId=23829
[17:35:46] [WS_EVENT] Read receipt for message 23829 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[17:35:46] [PUSH] Silent push received
[17:35:46] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 16:35:46 +0000, appState=0, message_id=nil
[17:35:46] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=3, IDs=[23829, 23828, 23825]
[17:35:46] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:35:46 +0000
[17:35:46] [PUSH_EMBED] No embedded message_data in notification
[17:35:46] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[17:35:46] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=3, IDs=[23829, 23828, 23825], handled=false
[17:35:46] [PUSH] No embedded data, pre-loading messages from server
[17:35:46] [PUSH_PRELOAD] Fetching messages for instant display cache
[17:35:46] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[17:35:46] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[17:35:46] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[17:35:46] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=3, IDs=[23829, 23828, 23825]
[17:35:46] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[17:35:46] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[17:35:46] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[17:35:46] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[17:35:46] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 99 msgs, IDs=[23729, 23730, 23731, 23732, 23733, 23734, 23735, 23736, 23737, 23738]
[17:35:46] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 23829, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}]
[17:35:46] [PUSH] Parsed message_id: 23829
[17:35:46] [PUSH] Parsed operation_type: 3
[17:35:46] [PUSH] Taking direct action: opType=3, messageId=23829
[17:35:46] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23829
[17:35:46] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[17:35:46] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[17:35:47] [MENU] dismissAnyExistingMenu called
[17:35:47] [MENU] dismissAnyExistingMenu completed
[17:35:47] [SCROLL] 💓 alive, visible=87...98, rows=101, estHeight=60.0, heightCalls=34
[17:35:47] [SCROLL_BTN] Showing button - 383pt from bottom > half 379pt
[17:35:47] [MENU] dismissAnyExistingMenu called
[17:35:47] [MENU] dismissAnyExistingMenu completed
[17:35:47] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:47] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:47] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:47] HELLO → sent (cached token, role=query)
[17:35:48] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:48] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:48] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:48] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:48] [CLEANUP] ========================================
[17:35:48] [CLEANUP] Cleaning up all agent connections and views
[17:35:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:48] [CLEANUP] Stopped and removed 0 video connections
[17:35:48] [CLEANUP] Removed 0 video views
[17:35:48] [CLEANUP] Removed 0 feed scroll views
[17:35:48] [CLEANUP] Removed 0 status labels
[17:35:48] [CLEANUP] Reset agent query state
[17:35:48] [CLEANUP] Updated page indicator
[17:35:48] [CLEANUP] Rebuilt video layout
[17:35:48] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:48] [CLEANUP] ========================================
[17:35:48] [SERVER] Starting reconnect polling (5s interval)
[17:35:48] [CLEANUP] ========================================
[17:35:48] [CLEANUP] Cleaning up all agent connections and views
[17:35:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:48] [CLEANUP] Stopped and removed 0 video connections
[17:35:48] [CLEANUP] Removed 0 video views
[17:35:48] [CLEANUP] Removed 0 feed scroll views
[17:35:48] [CLEANUP] Removed 0 status labels
[17:35:48] [CLEANUP] Reset agent query state
[17:35:48] [CLEANUP] Updated page indicator
[17:35:48] [CLEANUP] Rebuilt video layout
[17:35:48] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:48] [CLEANUP] ========================================
[17:35:48] [SERVER] Starting reconnect polling (5s interval)
[17:35:48] [SCROLL] 💓 alive, visible=91...100, rows=101, estHeight=60.0, heightCalls=37
[17:35:49] [SCROLL] 💓 alive, visible=91...97, rows=101, estHeight=60.0, heightCalls=2
[17:35:49] [SCROLL_BTN] Showing button - 310pt from bottom > half 223pt
[17:35:49] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:49] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:49] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:49] HELLO → sent (cached token, role=query)
[17:35:49] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:49] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:49] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:49] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:49] [CLEANUP] ========================================
[17:35:49] [CLEANUP] Cleaning up all agent connections and views
[17:35:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:49] [CLEANUP] Stopped and removed 0 video connections
[17:35:49] [CLEANUP] Removed 0 video views
[17:35:49] [CLEANUP] Removed 0 feed scroll views
[17:35:49] [CLEANUP] Removed 0 status labels
[17:35:49] [CLEANUP] Reset agent query state
[17:35:49] [CLEANUP] Updated page indicator
[17:35:49] [CLEANUP] Rebuilt video layout
[17:35:49] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:49] [CLEANUP] ========================================
[17:35:49] [SERVER] Starting reconnect polling (5s interval)
[17:35:49] [CLEANUP] ========================================
[17:35:49] [CLEANUP] Cleaning up all agent connections and views
[17:35:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:49] [CLEANUP] Stopped and removed 0 video connections
[17:35:49] [CLEANUP] Removed 0 video views
[17:35:49] [CLEANUP] Removed 0 feed scroll views
[17:35:49] [CLEANUP] Removed 0 status labels
[17:35:49] [CLEANUP] Reset agent query state
[17:35:49] [CLEANUP] Updated page indicator
[17:35:49] [CLEANUP] Rebuilt video layout
[17:35:49] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:49] [CLEANUP] ========================================
[17:35:49] [SERVER] Starting reconnect polling (5s interval)
[17:35:51] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:51] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:51] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:51] HELLO → sent (cached token, role=query)
[17:35:51] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:51] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:51] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:51] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:51] [CLEANUP] ========================================
[17:35:51] [CLEANUP] Cleaning up all agent connections and views
[17:35:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:51] [CLEANUP] Stopped and removed 0 video connections
[17:35:51] [CLEANUP] Removed 0 video views
[17:35:51] [CLEANUP] Removed 0 feed scroll views
[17:35:51] [CLEANUP] Removed 0 status labels
[17:35:51] [CLEANUP] Reset agent query state
[17:35:51] [CLEANUP] Updated page indicator
[17:35:51] [CLEANUP] Rebuilt video layout
[17:35:51] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:51] [CLEANUP] ========================================
[17:35:51] [SERVER] Starting reconnect polling (5s interval)
[17:35:51] [CLEANUP] ========================================
[17:35:51] [CLEANUP] Cleaning up all agent connections and views
[17:35:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:51] [CLEANUP] Stopped and removed 0 video connections
[17:35:51] [CLEANUP] Removed 0 video views
[17:35:51] [CLEANUP] Removed 0 feed scroll views
[17:35:51] [CLEANUP] Removed 0 status labels
[17:35:51] [CLEANUP] Reset agent query state
[17:35:51] [CLEANUP] Updated page indicator
[17:35:51] [CLEANUP] Rebuilt video layout
[17:35:51] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:51] [CLEANUP] ========================================
[17:35:51] [SERVER] Starting reconnect polling (5s interval)
[17:35:53] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:53] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:53] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:53] HELLO → sent (cached token, role=query)
[17:35:53] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:53] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:53] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:53] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:53] [CLEANUP] ========================================
[17:35:53] [CLEANUP] Cleaning up all agent connections and views
[17:35:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:53] [CLEANUP] Stopped and removed 0 video connections
[17:35:53] [CLEANUP] Removed 0 video views
[17:35:53] [CLEANUP] Removed 0 feed scroll views
[17:35:53] [CLEANUP] Removed 0 status labels
[17:35:53] [CLEANUP] Reset agent query state
[17:35:53] [CLEANUP] Updated page indicator
[17:35:53] [CLEANUP] Rebuilt video layout
[17:35:53] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:53] [CLEANUP] ========================================
[17:35:53] [SERVER] Starting reconnect polling (5s interval)
[17:35:53] [CLEANUP] ========================================
[17:35:53] [CLEANUP] Cleaning up all agent connections and views
[17:35:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:53] [CLEANUP] Stopped and removed 0 video connections
[17:35:53] [CLEANUP] Removed 0 video views
[17:35:53] [CLEANUP] Removed 0 feed scroll views
[17:35:53] [CLEANUP] Removed 0 status labels
[17:35:53] [CLEANUP] Reset agent query state
[17:35:53] [CLEANUP] Updated page indicator
[17:35:53] [CLEANUP] Rebuilt video layout
[17:35:53] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:53] [CLEANUP] ========================================
[17:35:53] [SERVER] Starting reconnect polling (5s interval)
[17:35:54] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:54] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:54] HELLO → sent (cached token, role=query)
[17:35:55] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:55] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:55] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:55] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:55] [CLEANUP] ========================================
[17:35:55] [CLEANUP] Cleaning up all agent connections and views
[17:35:55] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:55] [CLEANUP] Stopped and removed 0 video connections
[17:35:55] [CLEANUP] Removed 0 video views
[17:35:55] [CLEANUP] Removed 0 feed scroll views
[17:35:55] [CLEANUP] Removed 0 status labels
[17:35:55] [CLEANUP] Reset agent query state
[17:35:55] [CLEANUP] Updated page indicator
[17:35:55] [CLEANUP] Rebuilt video layout
[17:35:55] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:55] [CLEANUP] ========================================
[17:35:55] [SERVER] Starting reconnect polling (5s interval)
[17:35:55] [CLEANUP] ========================================
[17:35:55] [CLEANUP] Cleaning up all agent connections and views
[17:35:55] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:55] [CLEANUP] Stopped and removed 0 video connections
[17:35:55] [CLEANUP] Removed 0 video views
[17:35:55] [CLEANUP] Removed 0 feed scroll views
[17:35:55] [CLEANUP] Removed 0 status labels
[17:35:55] [CLEANUP] Reset agent query state
[17:35:55] [CLEANUP] Updated page indicator
[17:35:55] [CLEANUP] Rebuilt video layout
[17:35:55] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:55] [CLEANUP] ========================================
[17:35:55] [SERVER] Starting reconnect polling (5s interval)
[17:35:55] [SCROLL] 💓 alive, visible=96...100, rows=101, estHeight=60.0, heightCalls=5
[17:35:56] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:56] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:56] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:56] HELLO → sent (cached token, role=query)
[17:35:56] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[17:35:56] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=99, isReloading=false
[17:35:56] [SEND_MESSAGE] ✅ Added optimistic message id=-4 to arrays, newMsgCount=100
[17:35:56] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[17:35:56] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[-4, 23829, 23827, 23826, 23825]
[17:35:56] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages
[17:35:56] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-4, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[17:35:56] [RELOAD_TAB] 📊 Building chatRows from 100 messages
[17:35:56] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0
[17:35:56] [SCROLL] 💓 alive, visible=96...101, rows=102, estHeight=60.0, heightCalls=7
[17:35:56] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[17:35:56] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[17:35:56] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[17:35:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:56] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:56] [CLEANUP] ========================================
[17:35:56] [CLEANUP] Cleaning up all agent connections and views
[17:35:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:56] [CLEANUP] Stopped and removed 0 video connections
[17:35:56] [CLEANUP] Removed 0 video views
[17:35:56] [CLEANUP] Removed 0 feed scroll views
[17:35:56] [CLEANUP] Removed 0 status labels
[17:35:56] [CLEANUP] Reset agent query state
[17:35:56] [CLEANUP] Updated page indicator
[17:35:56] [CLEANUP] Rebuilt video layout
[17:35:56] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:56] [CLEANUP] ========================================
[17:35:56] [SERVER] Starting reconnect polling (5s interval)
[17:35:56] [CLEANUP] ========================================
[17:35:56] [CLEANUP] Cleaning up all agent connections and views
[17:35:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:56] [CLEANUP] Stopped and removed 0 video connections
[17:35:56] [CLEANUP] Removed 0 video views
[17:35:56] [CLEANUP] Removed 0 feed scroll views
[17:35:56] [CLEANUP] Removed 0 status labels
[17:35:56] [CLEANUP] Reset agent query state
[17:35:56] [CLEANUP] Updated page indicator
[17:35:56] [CLEANUP] Rebuilt video layout
[17:35:56] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:56] [CLEANUP] ========================================
[17:35:56] [SERVER] Starting reconnect polling (5s interval)
[17:35:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:58] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:35:58] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:35:58] HELLO → sent (cached token, role=query)
[17:35:58] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:35:58] [WS] Query connection failed - cleaning up all agent connections and views
[17:35:58] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:35:58] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:35:58] [CLEANUP] ========================================
[17:35:58] [CLEANUP] Cleaning up all agent connections and views
[17:35:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:58] [CLEANUP] Stopped and removed 0 video connections
[17:35:58] [CLEANUP] Removed 0 video views
[17:35:58] [CLEANUP] Removed 0 feed scroll views
[17:35:58] [CLEANUP] Removed 0 status labels
[17:35:58] [CLEANUP] Reset agent query state
[17:35:58] [CLEANUP] Updated page indicator
[17:35:58] [CLEANUP] Rebuilt video layout
[17:35:58] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:58] [CLEANUP] ========================================
[17:35:58] [SERVER] Starting reconnect polling (5s interval)
[17:35:58] [CLEANUP] ========================================
[17:35:58] [CLEANUP] Cleaning up all agent connections and views
[17:35:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:35:58] [CLEANUP] Stopped and removed 0 video connections
[17:35:58] [CLEANUP] Removed 0 video views
[17:35:58] [CLEANUP] Removed 0 feed scroll views
[17:35:58] [CLEANUP] Removed 0 status labels
[17:35:58] [CLEANUP] Reset agent query state
[17:35:58] [CLEANUP] Updated page indicator
[17:35:58] [CLEANUP] Rebuilt video layout
[17:35:58] [CLEANUP] ✅ All agent connections and views cleaned up
[17:35:58] [CLEANUP] ========================================
[17:35:58] [SERVER] Starting reconnect polling (5s interval)
[17:35:59] [CLIENT_SIG] Event received: type=0 messageId=23830
[17:35:59] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23830,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 16:35:57"}
[17:35:59] [WS_EVENT] Received event: type=0, messageId=23830
[17:35:59] [CHAT] receive_message.php JSON: ["session_id": ILUIWU, "message_type": 0, "file_name": , "ok": 1, "datesent_utc": 2026-03-06 16:35:57, "message_id": 23830]
[17:35:59] [WS_EVENT] 📨 New message notification (msgId=23830) - triggering incremental refresh, currentMsgCount=100
[17:35:59] [DB_UPGRADE] Upgrading message ID: -4 → 23830, preserveOriginalDate=false
[17:35:59] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=100
[17:35:59] [DB_UPGRADE] ✅ Upgraded -4 → 23830 with send_status=0, 1 row(s) affected
[17:35:59] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23830, maxMemoryId=23829
[17:35:59] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23830
[17:35:59] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -4 → 23830
[17:35:59] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -4 → 23830
[17:35:59] ReloadData 9
[17:35:59] [SCROLL] 💓 alive, visible=96...101, rows=102, estHeight=60.0, heightCalls=16
[17:35:59] [INCREMENTAL_SYNC] ✅ No new messages
[17:35:59] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=100
[17:36:00] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:00] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:36:00] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:00] HELLO → sent (cached token, role=query)
[17:36:00] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:36:00] [WS] Query connection failed - cleaning up all agent connections and views
[17:36:00] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:36:00] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:36:00] [CLEANUP] ========================================
[17:36:00] [CLEANUP] Cleaning up all agent connections and views
[17:36:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:00] [CLEANUP] Stopped and removed 0 video connections
[17:36:00] [CLEANUP] Removed 0 video views
[17:36:00] [CLEANUP] Removed 0 feed scroll views
[17:36:00] [CLEANUP] Removed 0 status labels
[17:36:00] [CLEANUP] Reset agent query state
[17:36:00] [CLEANUP] Updated page indicator
[17:36:00] [CLEANUP] Rebuilt video layout
[17:36:00] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:00] [CLEANUP] ========================================
[17:36:00] [SERVER] Starting reconnect polling (5s interval)
[17:36:00] [CLEANUP] ========================================
[17:36:00] [CLEANUP] Cleaning up all agent connections and views
[17:36:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:00] [CLEANUP] Stopped and removed 0 video connections
[17:36:00] [CLEANUP] Removed 0 video views
[17:36:00] [CLEANUP] Removed 0 feed scroll views
[17:36:00] [CLEANUP] Removed 0 status labels
[17:36:00] [CLEANUP] Reset agent query state
[17:36:00] [CLEANUP] Updated page indicator
[17:36:00] [CLEANUP] Rebuilt video layout
[17:36:00] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:00] [CLEANUP] ========================================
[17:36:00] [SERVER] Starting reconnect polling (5s interval)
[17:36:02] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:02] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:36:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:02] HELLO → sent (cached token, role=query)
[17:36:02] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:36:02] [WS] Query connection failed - cleaning up all agent connections and views
[17:36:02] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:36:02] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:36:02] [CLEANUP] ========================================
[17:36:02] [CLEANUP] Cleaning up all agent connections and views
[17:36:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:02] [CLEANUP] Stopped and removed 0 video connections
[17:36:02] [CLEANUP] Removed 0 video views
[17:36:02] [CLEANUP] Removed 0 feed scroll views
[17:36:02] [CLEANUP] Removed 0 status labels
[17:36:02] [CLEANUP] Reset agent query state
[17:36:02] [CLEANUP] Updated page indicator
[17:36:02] [CLEANUP] Rebuilt video layout
[17:36:02] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:02] [CLEANUP] ========================================
[17:36:02] [SERVER] Starting reconnect polling (5s interval)
[17:36:02] [CLEANUP] ========================================
[17:36:02] [CLEANUP] Cleaning up all agent connections and views
[17:36:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:02] [CLEANUP] Stopped and removed 0 video connections
[17:36:02] [CLEANUP] Removed 0 video views
[17:36:02] [CLEANUP] Removed 0 feed scroll views
[17:36:02] [CLEANUP] Removed 0 status labels
[17:36:02] [CLEANUP] Reset agent query state
[17:36:02] [CLEANUP] Updated page indicator
[17:36:02] [CLEANUP] Rebuilt video layout
[17:36:02] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:02] [CLEANUP] ========================================
[17:36:02] [SERVER] Starting reconnect polling (5s interval)
[17:36:03] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:03] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:36:03] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:03] HELLO → sent (cached token, role=query)
[17:36:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:36:04] [WS] Query connection failed - cleaning up all agent connections and views
[17:36:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:36:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:36:04] [CLEANUP] ========================================
[17:36:04] [CLEANUP] Cleaning up all agent connections and views
[17:36:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:04] [CLEANUP] Stopped and removed 0 video connections
[17:36:04] [CLEANUP] Removed 0 video views
[17:36:04] [CLEANUP] Removed 0 feed scroll views
[17:36:04] [CLEANUP] Removed 0 status labels
[17:36:04] [CLEANUP] Reset agent query state
[17:36:04] [CLEANUP] Updated page indicator
[17:36:04] [CLEANUP] Rebuilt video layout
[17:36:04] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:04] [CLEANUP] ========================================
[17:36:04] [SERVER] Starting reconnect polling (5s interval)
[17:36:04] [CLEANUP] ========================================
[17:36:04] [CLEANUP] Cleaning up all agent connections and views
[17:36:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:04] [CLEANUP] Stopped and removed 0 video connections
[17:36:04] [CLEANUP] Removed 0 video views
[17:36:04] [CLEANUP] Removed 0 feed scroll views
[17:36:04] [CLEANUP] Removed 0 status labels
[17:36:04] [CLEANUP] Reset agent query state
[17:36:04] [CLEANUP] Updated page indicator
[17:36:04] [CLEANUP] Rebuilt video layout
[17:36:04] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:04] [CLEANUP] ========================================
[17:36:04] [SERVER] Starting reconnect polling (5s interval)
[17:36:04] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[17:36:04] [SCROLL] 💓 alive, visible=93...101, rows=102, estHeight=60.0, heightCalls=0
[17:36:04] [LOG-KB] textViewDidEndEditing: isInputField=true, resetting allowKeyboardDismiss to false
[17:36:04] [LOCK] Lock button tapped - locking app immediately
[17:36:04] [LOCK] Received lock app notification
[17:36:05] [LIFECYCLE] App resigning active - cleared crash flag
[17:36:05] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:05] [WS] Opening session at ws://crivello.dyndns.org:8081/
[17:36:05] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[17:36:05] HELLO → sent (cached token, role=query)
[17:36:05] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[17:36:05] [WS] Query connection failed - cleaning up all agent connections and views
[17:36:05] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[17:36:05] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[17:36:05] [CLEANUP] ========================================
[17:36:05] [CLEANUP] Cleaning up all agent connections and views
[17:36:05] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:05] [CLEANUP] Stopped and removed 0 video connections
[17:36:05] [CLEANUP] Removed 0 video views
[17:36:05] [CLEANUP] Removed 0 feed scroll views
[17:36:05] [CLEANUP] Removed 0 status labels
[17:36:05] [CLEANUP] Reset agent query state
[17:36:05] [CLEANUP] Updated page indicator
[17:36:05] [CLEANUP] Rebuilt video layout
[17:36:05] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:05] [CLEANUP] ========================================
[17:36:05] [SERVER] Starting reconnect polling (5s interval)
[17:36:05] [CLEANUP] ========================================
[17:36:05] [CLEANUP] Cleaning up all agent connections and views
[17:36:05] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[17:36:05] [CLEANUP] Stopped and removed 0 video connections
[17:36:05] [CLEANUP] Removed 0 video views
[17:36:05] [CLEANUP] Removed 0 feed scroll views
[17:36:05] [CLEANUP] Removed 0 status labels
[17:36:05] [CLEANUP] Reset agent query state
[17:36:05] [CLEANUP] Updated page indicator
[17:36:05] [CLEANUP] Rebuilt video layout
[17:36:05] [CLEANUP] ✅ All agent connections and views cleaned up
[17:36:05] [CLEANUP] ========================================
[17:36:05] [SERVER] Starting reconnect polling (5s interval)
[17:36:05] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[17:36:05] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[17:36:05] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[17:36:05] [LIFECYCLE] App entering background - cleared crash flag
[17:36:05] [CLIENT_SIG] Disconnecting
[17:36:05] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[17:36:05] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[17:36:05] [PUSH_TRACE] 💤 BACKGROUND: memory has 100 messages, first 10 IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[17:36:05] [LIFECYCLE] Background snapshot: count=100, maxId=23830
[17:36:05] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[17:36:05] [WS] Canceling WebSocket for query connection to iosILUIWU
[17:36:05] In cleanupPeer
[17:36:05] In cleanupPeer
[17:36:05] [LIFECYCLE] WebRTC audio disabled
[17:36:05] [LIFECYCLE] AVAudioSession deactivated
[17:36:05] [LIFECYCLE] All connections stopped
[17:36:06] [CLIENT_SIG] WebSocket closed with code 1001
[17:36:06] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[17:36:06] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[17:36:06] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[17:36:06] [SERVER] Stopped reconnect polling
[17:36:06] [WS] URLSession invalidated successfully
[17:36:06] Will request stop of video 0
[17:36:06] Will request stop of video 0
[17:36:06] [PIP] Removing 0 tracks from PiP for connection 0
[17:36:06] [PIP] ✅ All tracks removed for connection 0
[17:36:06] [PIP] Removing 0 tracks from PiP for connection 0
[17:36:06] [PIP] ✅ All tracks removed for connection 0
[18:39:46] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:39:46] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:39:46] [NETWORK] Status changed: connected
[18:39:46] [LIFECYCLE] App entering foreground - restoring connections
[18:39:46] [PUSH_TRACE] 🔄 FOREGROUND: memory has 100 msgs, IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[18:39:46] [PUSH_TRACE] 🔄 FOREGROUND: cache has 50 msgs, valid=true, IDs=[23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[18:39:46] [LIFECYCLE] Away > 2 minutes (3820s) - will scroll to bottom
[18:39:46] [UPLOAD_RETRY] No pending uploads to retry
[18:39:46] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100
[18:39:46] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[18:39:46] [LIFECYCLE] WebRTC audio re-enabled
[18:39:46] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:39:46] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:39:46] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:39:46] [VIEWER] Reconnecting after background - querying agents
[18:39:46] [FOREGROUND] 📶 Network available - retrying 2 pending messages: [-3, -2]
[18:39:46] [RETRY] 🔄 Retrying 2 pending messages...
[18:39:46] [RETRY] ⚠️ Message -3 not found in memory, removing from pending
[18:39:46] [RETRY] ⚠️ Message -2 not found in memory, removing from pending
[18:39:46] [UNSENT_RETRY] Checking for unsent messages... (excluding 2 already-retrying: [-3, -2])
[18:39:46] [PENDING_UPLOAD] Total pending upload messages: 0
[18:39:46] [UNSENT_RETRY] No unsent messages found
[18:39:46] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:46] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:46] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:39:46] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[18:39:46] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:39:46] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[18:39:46] [PUSH] handlePollEventsNotification userInfo: [:]
[18:39:46] [PUSH] No message_id in userInfo
[18:39:46] [PUSH] No operation_type in userInfo
[18:39:46] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:39:46] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=50, IDs=[23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[18:39:46] [PUSH_TRACE] 📬 POLL: memory state: count=100, first 10 IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[18:39:46] [FAST_REFRESH] Already have 100 messages in memory
[18:39:46] [FAST_REFRESH] maxMemoryId=23830, maxLocalId=23830
[18:39:46] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:39:46] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100
[18:39:46] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:39:46] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:39:46] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[18:39:46] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=100
[18:39:46] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23830, maxMemoryId=23830
[18:39:46] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23830
[18:39:46] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=18
[18:39:46] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23830, 23829, 23827, 23826, 23825]
[18:39:46] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages
[18:39:46] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[18:39:46] [RELOAD_TAB] 📊 Building chatRows from 100 messages
[18:39:46] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0
[18:39:46] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=11
[18:39:46] [CLIENT_SIG] WebSocket opened
[18:39:46] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:39:46] [CLIENT_SIG] Connected! clientId=Alv9psMJ0LOSjpf0
[18:39:46] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:46] HELLO → sent (cached token, role=query)
[18:39:46] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[18:39:46] [FOREGROUND] Enriched 1/1 unsettled messages with readBy data
[18:39:46] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=100>100=false, maxId=23830>23830=false, shouldScroll=true
[18:39:46] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100
[18:39:46] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:39:46] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:39:46] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:39:46] [WS] Query connection failed - cleaning up all agent connections and views
[18:39:46] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:39:46] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:39:47] [CLEANUP] ========================================
[18:39:47] [CLEANUP] Cleaning up all agent connections and views
[18:39:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:47] [CLEANUP] Stopped and removed 0 video connections
[18:39:47] [CLEANUP] Removed 0 video views
[18:39:47] [CLEANUP] Removed 0 feed scroll views
[18:39:47] [CLEANUP] Removed 0 status labels
[18:39:47] [CLEANUP] Reset agent query state
[18:39:47] [CLEANUP] Updated page indicator
[18:39:47] [CLEANUP] Rebuilt video layout
[18:39:47] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:47] [CLEANUP] ========================================
[18:39:47] [SERVER] Starting reconnect polling (5s interval)
[18:39:47] [CLEANUP] ========================================
[18:39:47] [CLEANUP] Cleaning up all agent connections and views
[18:39:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:47] [CLEANUP] Stopped and removed 0 video connections
[18:39:47] [CLEANUP] Removed 0 video views
[18:39:47] [CLEANUP] Removed 0 feed scroll views
[18:39:47] [CLEANUP] Removed 0 status labels
[18:39:47] [CLEANUP] Reset agent query state
[18:39:47] [CLEANUP] Updated page indicator
[18:39:47] [CLEANUP] Rebuilt video layout
[18:39:47] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:47] [CLEANUP] ========================================
[18:39:47] [SERVER] Starting reconnect polling (5s interval)
[18:39:47] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[18:39:47] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data
[18:39:47] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100
[18:39:47] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:39:47] [INCREMENTAL_SYNC] ✅ Found 2 new messages
[18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 2 new messages, IDs=[23832, 23831]
[18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 100 msgs, first 10 IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820]
[18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23832
[18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23831
[18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 2 new, total 102, first 10 IDs=[23832, 23831, 23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822]
[18:39:47] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=2
[18:39:47] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:39:47] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:39:47] [FAST_REFRESH] Incremental sync complete - 102 messages
[18:39:47] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11
[18:39:47] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23832, 23831, 23830, 23829, 23827]
[18:39:47] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:39:47] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23832, 23831, 23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822]
[18:39:47] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:39:47] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:39:47] [SCROLL] 💓 alive, visible=92...101, rows=104, estHeight=60.0, heightCalls=0
[18:39:47] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23830 → 23831
[18:39:47] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23831 → 23832
[18:39:47] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=13
[18:39:48] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:48] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:48] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:48] HELLO → sent (cached token, role=query)
[18:39:48] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:39:48] [WS] Query connection failed - cleaning up all agent connections and views
[18:39:48] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:39:48] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:39:48] [CLEANUP] ========================================
[18:39:48] [CLEANUP] Cleaning up all agent connections and views
[18:39:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:48] [CLEANUP] Stopped and removed 0 video connections
[18:39:48] [CLEANUP] Removed 0 video views
[18:39:48] [CLEANUP] Removed 0 feed scroll views
[18:39:48] [CLEANUP] Removed 0 status labels
[18:39:48] [CLEANUP] Reset agent query state
[18:39:48] [CLEANUP] Updated page indicator
[18:39:48] [CLEANUP] Rebuilt video layout
[18:39:48] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:48] [CLEANUP] ========================================
[18:39:48] [SERVER] Starting reconnect polling (5s interval)
[18:39:48] [CLEANUP] ========================================
[18:39:48] [CLEANUP] Cleaning up all agent connections and views
[18:39:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:48] [CLEANUP] Stopped and removed 0 video connections
[18:39:48] [CLEANUP] Removed 0 video views
[18:39:48] [CLEANUP] Removed 0 feed scroll views
[18:39:48] [CLEANUP] Removed 0 status labels
[18:39:48] [CLEANUP] Reset agent query state
[18:39:48] [CLEANUP] Updated page indicator
[18:39:48] [CLEANUP] Rebuilt video layout
[18:39:48] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:48] [CLEANUP] ========================================
[18:39:48] [SERVER] Starting reconnect polling (5s interval)[18:39:49] [LOG] Pruned 3607 entries older than 3 hours
[18:39:49] [SECURITY] Restored real session: ILUIWU
[18:39:49] [SECURITY] Restored real session: ILUIWU
[18:39:49] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[18:39:49] [FAKE MODE] Exiting fake mode, restoring real session
[18:39:49] [SECURITY] Restored real session: ILUIWU
[18:39:49] [SECURITY] Saved real session: ILUIWU
[18:39:49] [FAKE MODE] ✅ Restored real session: ILUIWU
[18:39:49] [FAKE MODE] Loaded 50 messages (limited to page size)
[18:39:49] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[18:39:49] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[18:39:49] [AUTH] Cache had 50 messages, maxExistingId=23832, inserted 0 truly new
[18:39:49] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>100=false, maxId=23832>23830=true, shouldScroll=true
[18:39:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[18:39:49] [AUTH] UI update complete
[18:39:49] [GIF] configure msgId=23785 file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif msgChanged=true owner=false animating=false completed=false
[18:39:49] [GIF] msgId=23785 START fresh animation
[18:39:49] [CELL_UPLOAD] configure: msgId=23785, file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=true, uploadStatus=0
[18:39:49] [CELL_UPLOAD] → giphy file, no upload needed, setting complete
[18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, overlayExists=true
[18:39:49] [SCROLL] 💓 alive, visible=0...6, rows=51, estHeight=60.0, heightCalls=34
[18:39:49] [SCROLL_BTN] Showing button - 2667pt from bottom > half 379pt
[18:39:49] [PAGINATION] 🔄 Older triggered: firstVisible=0, totalRows=51
[18:39:49] [PAGINATION] 📜 Starting load, offset=50, totalLoaded=50
[18:39:49] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[18:39:49] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[18:39:49] [PAGINATION] 📜 DB returned 50 messages
[18:39:49] [PAGINATION] 📜 Loading 50 older messages, firstVisibleRow=0, oldOffset=19.0
[18:39:49] [PAGINATION] 📜 Total now: 100
[18:39:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=true, estHeight=60.0, heightCalls=0
[18:39:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23732, 23733, 23734, 23735, 23736]
[18:39:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages
[18:39:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741]
[18:39:49] [RELOAD_TAB] 📊 Building chatRows from 100 messages
[18:39:49] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0
[18:39:49] [RELOAD_TAB] 📊 reloadData() START, rows=102
[18:39:49] [RELOAD_TAB] 📊 reloadData() DONE, heightCalls=0
[18:39:49] [RELOAD_TAB] 📊 layoutIfNeeded() START
[18:39:49] [USER] ✅ User registered successfully
[18:39:49] [PUSH] User registration after token update: success
[18:39:49] [CELL_UPLOAD] configure: msgId=23736, file=fbad63a366619f78.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[18:39:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=fbad63a366619f78.jpg, overlayExists=true
[18:39:49] [RELOAD_TAB] 📊 layoutIfNeeded() DONE, heightCalls=9
[18:39:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9
[18:39:49] [PAGINATION] 📜 newHeight=6451.0, heightDiff=3007.0, newOffset=3026.0
[18:39:49] [PAGINATION] 📜 After setContentOffset, actual offset=3026.0
[18:39:49] [PAGINATION] 📜 Done, offset=3026.0
[18:39:49] [CELL_UPLOAD] configure: msgId=23779, file=c4ff0b7976fae65e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[18:39:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c4ff0b7976fae65e.jpg, overlayExists=true
[18:39:49] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[18:39:49] [FAKE MODE] Enriched 1/1 unsettled messages with readBy data
[18:39:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100
[18:39:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=18
[18:39:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23732, 23733, 23734, 23735, 23736]
[18:39:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages
[18:39:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741]
[18:39:49] [RELOAD_TAB] 📊 Building chatRows from 100 messages
[18:39:49] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0
[18:39:49] [CELL_UPLOAD] configure: msgId=23779, file=c4ff0b7976fae65e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[18:39:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c4ff0b7976fae65e.jpg, overlayExists=true
[18:39:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=13
[18:39:50] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:50] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:50] [CLIENT_SIG] Event received: type=3 messageId=23831
[18:39:50] [WS_EVENT] Received event: type=3, messageId=23831
[18:39:50] [WS_EVENT] Read receipt for message 23831 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:39:50] [PUSH] Silent push received
[18:39:50] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:39:50 +0000, appState=0, message_id=nil
[18:39:50] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[]
[18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:39:50 +0000
[18:39:50] [PUSH_EMBED] No embedded message_data in notification
[18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[18:39:50] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false
[18:39:50] [PUSH] No embedded data, pre-loading messages from server
[18:39:50] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:39:50] [CLIENT_SIG] Event received: type=3 messageId=23832
[18:39:50] [WS_EVENT] Received event: type=3, messageId=23832
[18:39:50] [WS_EVENT] Read receipt for message 23832 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:39:50] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[18:39:50] [SCROLL] 💓 alive, visible=93...101, rows=102, estHeight=60.0, heightCalls=28
[18:39:50] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[18:39:50] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823]
[18:39:50] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache
[18:39:50] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[18:39:50] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:50] HELLO → sent (cached token, role=query)
[18:39:50] [PUSH] Silent push received
[18:39:50] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:39:50 +0000, appState=0, message_id=nil
[18:39:50] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823]
[18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:39:50 +0000
[18:39:50] [PUSH_EMBED] No embedded message_data in notification
[18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[18:39:50] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823], handled=false
[18:39:50] [PUSH] No embedded data, pre-loading messages from server
[18:39:50] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:39:50] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:39:50] [WS] Query connection failed - cleaning up all agent connections and views
[18:39:50] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:39:50] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:39:50] [CLEANUP] ========================================
[18:39:50] [CLEANUP] Cleaning up all agent connections and views
[18:39:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:50] [CLEANUP] Stopped and removed 0 video connections
[18:39:50] [CLEANUP] Removed 0 video views
[18:39:50] [CLEANUP] Removed 0 feed scroll views
[18:39:50] [CLEANUP] Removed 0 status labels
[18:39:50] [CLEANUP] Reset agent query state
[18:39:50] [CLEANUP] Updated page indicator
[18:39:50] [CLEANUP] Rebuilt video layout
[18:39:50] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:50] [CLEANUP] ========================================
[18:39:50] [SERVER] Starting reconnect polling (5s interval)
[18:39:50] [CLEANUP] ========================================
[18:39:50] [CLEANUP] Cleaning up all agent connections and views
[18:39:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:50] [CLEANUP] Stopped and removed 0 video connections
[18:39:50] [CLEANUP] Removed 0 video views
[18:39:50] [CLEANUP] Removed 0 feed scroll views
[18:39:50] [CLEANUP] Removed 0 status labels
[18:39:50] [CLEANUP] Reset agent query state
[18:39:50] [CLEANUP] Updated page indicator
[18:39:50] [CLEANUP] Rebuilt video layout
[18:39:50] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:50] [CLEANUP] ========================================
[18:39:50] [SERVER] Starting reconnect polling (5s interval)
[18:39:50] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:39:50] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741]
[18:39:50] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23831]
[18:39:50] [PUSH] Parsed message_id: 23831
[18:39:50] [PUSH] Parsed operation_type: 3
[18:39:50] [PUSH] Taking direct action: opType=3, messageId=23831
[18:39:50] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23831
[18:39:51] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[18:39:51] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[18:39:51] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823]
[18:39:51] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823]
[18:39:51] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[18:39:51] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823]
[18:39:51] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[18:39:51] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:39:51] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741]
[18:39:51] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 23832, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}]
[18:39:51] [PUSH] Parsed message_id: 23832
[18:39:51] [PUSH] Parsed operation_type: 3
[18:39:51] [PUSH] Taking direct action: opType=3, messageId=23832
[18:39:51] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23832
[18:39:52] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:52] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:52] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:52] HELLO → sent (cached token, role=query)
[18:39:52] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:39:52] [WS] Query connection failed - cleaning up all agent connections and views
[18:39:52] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:39:52] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:39:52] [CLEANUP] ========================================
[18:39:52] [CLEANUP] Cleaning up all agent connections and views
[18:39:52] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:52] [CLEANUP] Stopped and removed 0 video connections
[18:39:52] [CLEANUP] Removed 0 video views
[18:39:52] [CLEANUP] Removed 0 feed scroll views
[18:39:52] [CLEANUP] Removed 0 status labels
[18:39:52] [CLEANUP] Reset agent query state
[18:39:52] [CLEANUP] Updated page indicator
[18:39:52] [CLEANUP] Rebuilt video layout
[18:39:52] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:52] [CLEANUP] ========================================
[18:39:52] [SERVER] Starting reconnect polling (5s interval)
[18:39:52] [CLEANUP] ========================================
[18:39:52] [CLEANUP] Cleaning up all agent connections and views
[18:39:52] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:52] [CLEANUP] Stopped and removed 0 video connections
[18:39:52] [CLEANUP] Removed 0 video views
[18:39:52] [CLEANUP] Removed 0 feed scroll views
[18:39:52] [CLEANUP] Removed 0 status labels
[18:39:52] [CLEANUP] Reset agent query state
[18:39:52] [CLEANUP] Updated page indicator
[18:39:52] [CLEANUP] Rebuilt video layout
[18:39:52] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:52] [CLEANUP] ========================================
[18:39:52] [SERVER] Starting reconnect polling (5s interval)
[18:39:53] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[18:39:53] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=100, isReloading=false
[18:39:53] [SEND_MESSAGE] ✅ Added optimistic message id=-5 to arrays, newMsgCount=101
[18:39:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:39:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=101, first5Ids=[-5, 23832, 23831, 23830, 23829]
[18:39:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 101 messages
[18:39:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-5, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:39:53] [RELOAD_TAB] 📊 Building chatRows from 101 messages
[18:39:53] [RELOAD_TAB] 📊 Built 103 chatRows, estHeight=60.0
[18:39:53] [SCROLL] 💓 alive, visible=93...98, rows=103, estHeight=60.0, heightCalls=7
[18:39:53] [SCROLL_BTN] Showing button - 291pt from bottom > half 223pt
[18:39:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[18:39:53] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[18:39:53] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[18:39:54] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:54] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:54] HELLO → sent (cached token, role=query)
[18:39:54] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:39:54] [WS] Query connection failed - cleaning up all agent connections and views
[18:39:54] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:39:54] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:39:54] [CLEANUP] ========================================
[18:39:54] [CLEANUP] Cleaning up all agent connections and views
[18:39:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:54] [CLEANUP] Stopped and removed 0 video connections
[18:39:54] [CLEANUP] Removed 0 video views
[18:39:54] [CLEANUP] Removed 0 feed scroll views
[18:39:54] [CLEANUP] Removed 0 status labels
[18:39:54] [CLEANUP] Reset agent query state
[18:39:54] [CLEANUP] Updated page indicator
[18:39:54] [CLEANUP] Rebuilt video layout
[18:39:54] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:54] [CLEANUP] ========================================
[18:39:54] [SERVER] Starting reconnect polling (5s interval)
[18:39:54] [CLEANUP] ========================================
[18:39:54] [CLEANUP] Cleaning up all agent connections and views
[18:39:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:54] [CLEANUP] Stopped and removed 0 video connections
[18:39:54] [CLEANUP] Removed 0 video views
[18:39:54] [CLEANUP] Removed 0 feed scroll views
[18:39:54] [CLEANUP] Removed 0 status labels
[18:39:54] [CLEANUP] Reset agent query state
[18:39:54] [CLEANUP] Updated page indicator
[18:39:54] [CLEANUP] Rebuilt video layout
[18:39:54] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:54] [CLEANUP] ========================================
[18:39:54] [SERVER] Starting reconnect polling (5s interval)
[18:39:56] [CLIENT_SIG] Event received: type=0 messageId=23833
[18:39:56] [WS_EVENT] Received event: type=0, messageId=23833
[18:39:56] [WS_EVENT] 📨 New message notification (msgId=23833) - triggering incremental refresh, currentMsgCount=101
[18:39:56] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=101
[18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23832, maxMemoryId=23832
[18:39:56] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23832
[18:39:56] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23833,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 17:39:53"}
[18:39:56] [CHAT] receive_message.php JSON: ["file_name": , "message_id": 23833, "message_type": 0, "session_id": ILUIWU, "ok": 1, "datesent_utc": 2026-03-06 17:39:53]
[18:39:56] [DB_UPGRADE] Upgrading message ID: -5 → 23833, preserveOriginalDate=false
[18:39:56] [DB_UPGRADE] ✅ Upgraded -5 → 23833 with send_status=0, 1 row(s) affected
[18:39:56] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -5 → 23833
[18:39:56] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -5 → 23833
[18:39:56] ReloadData 9
[18:39:56] [SCROLL] 💓 alive, visible=97...102, rows=103, estHeight=60.0, heightCalls=24
[18:39:56] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:56] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:56] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23833]
[18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 101 msgs, first 10 IDs=[23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 0 new, total 101, first 10 IDs=[23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:39:56] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[18:39:56] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=101
[18:39:56] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=101
[18:39:56] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:39:56] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=101, first5Ids=[23833, 23832, 23831, 23830, 23829]
[18:39:56] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 101 messages
[18:39:56] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:39:56] [RELOAD_TAB] 📊 Building chatRows from 101 messages
[18:39:56] [RELOAD_TAB] 📊 Built 103 chatRows, estHeight=60.0
[18:39:56] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7
[18:39:56] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:56] HELLO → sent (cached token, role=query)
[18:39:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:39:56] [WS] Query connection failed - cleaning up all agent connections and views
[18:39:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:39:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:39:56] [CLEANUP] ========================================
[18:39:56] [CLEANUP] Cleaning up all agent connections and views
[18:39:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:56] [CLEANUP] Stopped and removed 0 video connections
[18:39:56] [CLEANUP] Removed 0 video views
[18:39:56] [CLEANUP] Removed 0 feed scroll views
[18:39:56] [CLEANUP] Removed 0 status labels
[18:39:56] [CLEANUP] Reset agent query state
[18:39:56] [CLEANUP] Updated page indicator
[18:39:56] [CLEANUP] Rebuilt video layout
[18:39:56] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:56] [CLEANUP] ========================================
[18:39:56] [SERVER] Starting reconnect polling (5s interval)
[18:39:56] [CLEANUP] ========================================
[18:39:56] [CLEANUP] Cleaning up all agent connections and views
[18:39:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:56] [CLEANUP] Stopped and removed 0 video connections
[18:39:56] [CLEANUP] Removed 0 video views
[18:39:56] [CLEANUP] Removed 0 feed scroll views
[18:39:56] [CLEANUP] Removed 0 status labels
[18:39:56] [CLEANUP] Reset agent query state
[18:39:56] [CLEANUP] Updated page indicator
[18:39:56] [CLEANUP] Rebuilt video layout
[18:39:56] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:56] [CLEANUP] ========================================
[18:39:56] [SERVER] Starting reconnect polling (5s interval)
[18:39:57] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[18:39:57] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=101, isReloading=false
[18:39:57] [SEND_MESSAGE] ✅ Added optimistic message id=-6 to arrays, newMsgCount=102
[18:39:57] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=7
[18:39:57] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[-6, 23833, 23832, 23831, 23830]
[18:39:57] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:39:57] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-6, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825]
[18:39:57] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:39:57] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:39:57] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:39:57] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[18:39:57] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[18:39:57] [SCROLL] 💓 alive, visible=97...103, rows=104, estHeight=60.0, heightCalls=18
[18:39:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:58] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:58] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:58] HELLO → sent (cached token, role=query)
[18:39:58] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:39:58] [WS] Query connection failed - cleaning up all agent connections and views
[18:39:58] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:39:58] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:39:58] [CLEANUP] ========================================
[18:39:58] [CLEANUP] Cleaning up all agent connections and views
[18:39:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:58] [CLEANUP] Stopped and removed 0 video connections
[18:39:58] [CLEANUP] Removed 0 video views
[18:39:58] [CLEANUP] Removed 0 feed scroll views
[18:39:58] [CLEANUP] Removed 0 status labels
[18:39:58] [CLEANUP] Reset agent query state
[18:39:58] [CLEANUP] Updated page indicator
[18:39:58] [CLEANUP] Rebuilt video layout
[18:39:58] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:58] [CLEANUP] ========================================
[18:39:58] [SERVER] Starting reconnect polling (5s interval)
[18:39:58] [CLEANUP] ========================================
[18:39:58] [CLEANUP] Cleaning up all agent connections and views
[18:39:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:39:58] [CLEANUP] Stopped and removed 0 video connections
[18:39:58] [CLEANUP] Removed 0 video views
[18:39:58] [CLEANUP] Removed 0 feed scroll views
[18:39:58] [CLEANUP] Removed 0 status labels
[18:39:58] [CLEANUP] Reset agent query state
[18:39:58] [CLEANUP] Updated page indicator
[18:39:58] [CLEANUP] Rebuilt video layout
[18:39:58] [CLEANUP] ✅ All agent connections and views cleaned up
[18:39:58] [CLEANUP] ========================================
[18:39:58] [SERVER] Starting reconnect polling (5s interval)
[18:39:59] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:39:59] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:39:59] [CLIENT_SIG] Event received: type=0 messageId=23834
[18:39:59] [WS_EVENT] Received event: type=0, messageId=23834
[18:39:59] [WS_EVENT] 📨 New message notification (msgId=23834) - triggering incremental refresh, currentMsgCount=102
[18:39:59] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23834,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 17:39:57"}
[18:39:59] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102
[18:39:59] [CHAT] receive_message.php JSON: ["datesent_utc": 2026-03-06 17:39:57, "ok": 1, "message_type": 0, "file_name": , "session_id": ILUIWU, "message_id": 23834]
[18:39:59] [DB_UPGRADE] Upgrading message ID: -6 → 23834, preserveOriginalDate=false
[18:39:59] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23833, maxMemoryId=23833
[18:39:59] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23833
[18:39:59] [DB_UPGRADE] ✅ Upgraded -6 → 23834 with send_status=0, 1 row(s) affected
[18:39:59] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -6 → 23834
[18:39:59] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -6 → 23834
[18:40:00] ReloadData 9
[18:40:00] [SCROLL] 💓 alive, visible=98...103, rows=104, estHeight=60.0, heightCalls=7
[18:40:00] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[18:40:00] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23834]
[18:40:00] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 102 msgs, first 10 IDs=[23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825]
[18:40:00] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 0 new, total 102, first 10 IDs=[23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825]
[18:40:00] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[18:40:00] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:40:00] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=102
[18:40:00] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:40:00] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23834, 23833, 23832, 23831, 23830]
[18:40:00] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:40:00] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825]
[18:40:00] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:40:00] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:40:00] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7
[18:40:00] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:40:00] HELLO → sent (cached token, role=query)
[18:40:00] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:40:00] [WS] Query connection failed - cleaning up all agent connections and views
[18:40:00] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:40:00] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:40:00] [CLEANUP] ========================================
[18:40:00] [CLEANUP] Cleaning up all agent connections and views
[18:40:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:00] [CLEANUP] Stopped and removed 0 video connections
[18:40:00] [CLEANUP] Removed 0 video views
[18:40:00] [CLEANUP] Removed 0 feed scroll views
[18:40:00] [CLEANUP] Removed 0 status labels
[18:40:00] [CLEANUP] Reset agent query state
[18:40:00] [CLEANUP] Updated page indicator
[18:40:00] [CLEANUP] Rebuilt video layout
[18:40:00] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:00] [CLEANUP] ========================================
[18:40:00] [SERVER] Starting reconnect polling (5s interval)
[18:40:00] [CLEANUP] ========================================
[18:40:00] [CLEANUP] Cleaning up all agent connections and views
[18:40:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:00] [CLEANUP] Stopped and removed 0 video connections
[18:40:00] [CLEANUP] Removed 0 video views
[18:40:00] [CLEANUP] Removed 0 feed scroll views
[18:40:00] [CLEANUP] Removed 0 status labels
[18:40:00] [CLEANUP] Reset agent query state
[18:40:00] [CLEANUP] Updated page indicator
[18:40:00] [CLEANUP] Rebuilt video layout
[18:40:00] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:00] [CLEANUP] ========================================
[18:40:00] [SERVER] Starting reconnect polling (5s interval)
[18:40:01] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:40:01] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:40:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:40:02] HELLO → sent (cached token, role=query)
[18:40:02] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:40:02] [WS] Query connection failed - cleaning up all agent connections and views
[18:40:02] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:40:02] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:40:02] [CLEANUP] ========================================
[18:40:02] [CLEANUP] Cleaning up all agent connections and views
[18:40:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:02] [CLEANUP] Stopped and removed 0 video connections
[18:40:02] [CLEANUP] Removed 0 video views
[18:40:02] [CLEANUP] Removed 0 feed scroll views
[18:40:02] [CLEANUP] Removed 0 status labels
[18:40:02] [CLEANUP] Reset agent query state
[18:40:02] [CLEANUP] Updated page indicator
[18:40:02] [CLEANUP] Rebuilt video layout
[18:40:02] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:02] [CLEANUP] ========================================
[18:40:02] [SERVER] Starting reconnect polling (5s interval)
[18:40:02] [CLEANUP] ========================================
[18:40:02] [CLEANUP] Cleaning up all agent connections and views
[18:40:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:02] [CLEANUP] Stopped and removed 0 video connections
[18:40:02] [CLEANUP] Removed 0 video views
[18:40:02] [CLEANUP] Removed 0 feed scroll views
[18:40:02] [CLEANUP] Removed 0 status labels
[18:40:02] [CLEANUP] Reset agent query state
[18:40:02] [CLEANUP] Updated page indicator
[18:40:02] [CLEANUP] Rebuilt video layout
[18:40:02] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:02] [CLEANUP] ========================================
[18:40:02] [SERVER] Starting reconnect polling (5s interval)
[18:40:03] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[18:40:03] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=102, isReloading=false
[18:40:03] [SEND_MESSAGE] ✅ Added optimistic message id=-7 to arrays, newMsgCount=103
[18:40:03] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=7
[18:40:03] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=103, first5Ids=[-7, 23834, 23833, 23832, 23831]
[18:40:03] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 103 messages
[18:40:03] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-7, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826]
[18:40:03] [RELOAD_TAB] 📊 Building chatRows from 103 messages
[18:40:03] [RELOAD_TAB] 📊 Built 105 chatRows, estHeight=60.0
[18:40:03] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7
[18:40:03] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[18:40:03] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[18:40:03] [SCROLL] 💓 alive, visible=98...103, rows=105, estHeight=60.0, heightCalls=15
[18:40:03] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:40:03] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:40:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:40:04] HELLO → sent (cached token, role=query)
[18:40:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:40:04] [WS] Query connection failed - cleaning up all agent connections and views
[18:40:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:40:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:40:04] [CLEANUP] ========================================
[18:40:04] [CLEANUP] Cleaning up all agent connections and views
[18:40:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:04] [CLEANUP] Stopped and removed 0 video connections
[18:40:04] [CLEANUP] Removed 0 video views
[18:40:04] [CLEANUP] Removed 0 feed scroll views
[18:40:04] [CLEANUP] Removed 0 status labels
[18:40:04] [CLEANUP] Reset agent query state
[18:40:04] [CLEANUP] Updated page indicator
[18:40:04] [CLEANUP] Rebuilt video layout
[18:40:04] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:04] [CLEANUP] ========================================
[18:40:04] [SERVER] Starting reconnect polling (5s interval)
[18:40:04] [CLEANUP] ========================================
[18:40:04] [CLEANUP] Cleaning up all agent connections and views
[18:40:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:04] [CLEANUP] Stopped and removed 0 video connections
[18:40:04] [CLEANUP] Removed 0 video views
[18:40:04] [CLEANUP] Removed 0 feed scroll views
[18:40:04] [CLEANUP] Removed 0 status labels
[18:40:04] [CLEANUP] Reset agent query state
[18:40:04] [CLEANUP] Updated page indicator
[18:40:04] [CLEANUP] Rebuilt video layout
[18:40:04] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:04] [CLEANUP] ========================================
[18:40:04] [SERVER] Starting reconnect polling (5s interval)
[18:40:05] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[18:40:05] [SCROLL] 💓 alive, visible=93...104, rows=105, estHeight=60.0, heightCalls=2
[18:40:05] [LOG-KB] textViewDidEndEditing: isInputField=true, resetting allowKeyboardDismiss to false
[18:40:05] [LOCK] Lock button tapped - locking app immediately
[18:40:05] [LOCK] Received lock app notification
[18:40:05] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:40:05] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:40:05] [CLIENT_SIG] Event received: type=0 messageId=23835
[18:40:05] [WS_EVENT] Received event: type=0, messageId=23835
[18:40:05] [WS_EVENT] 📨 New message notification (msgId=23835) - triggering incremental refresh, currentMsgCount=103
[18:40:05] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=103
[18:40:05] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23835,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 17:40:03"}
[18:40:05] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23834, maxMemoryId=23834
[18:40:05] [CHAT] receive_message.php JSON: ["datesent_utc": 2026-03-06 17:40:03, "file_name": , "message_type": 0, "message_id": 23835, "session_id": ILUIWU, "ok": 1]
[18:40:05] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23834
[18:40:05] [DB_UPGRADE] Upgrading message ID: -7 → 23835, preserveOriginalDate=false
[18:40:05] [DB_UPGRADE] ✅ Upgraded -7 → 23835 with send_status=0, 1 row(s) affected
[18:40:05] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -7 → 23835
[18:40:05] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -7 → 23835
[18:40:05] ReloadData 9
[18:40:05] [LIFECYCLE] App resigning active - cleared crash flag
[18:40:05] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[18:40:05] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23835]
[18:40:05] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 103 msgs, first 10 IDs=[23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826]
[18:40:05] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 0 new, total 103, first 10 IDs=[23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826]
[18:40:05] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[18:40:05] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=103
[18:40:05] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=103
[18:40:05] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=20
[18:40:05] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=103, first5Ids=[23835, 23834, 23833, 23832, 23831]
[18:40:05] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 103 messages
[18:40:05] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826]
[18:40:05] [RELOAD_TAB] 📊 Building chatRows from 103 messages
[18:40:05] [RELOAD_TAB] 📊 Built 105 chatRows, estHeight=60.0
[18:40:05] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=11
[18:40:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:40:06] HELLO → sent (cached token, role=query)
[18:40:06] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:40:06] [WS] Query connection failed - cleaning up all agent connections and views
[18:40:06] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:40:06] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:40:06] [CLEANUP] ========================================
[18:40:06] [CLEANUP] Cleaning up all agent connections and views
[18:40:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:06] [CLEANUP] Stopped and removed 0 video connections
[18:40:06] [CLEANUP] Removed 0 video views
[18:40:06] [CLEANUP] Removed 0 feed scroll views
[18:40:06] [CLEANUP] Removed 0 status labels
[18:40:06] [CLEANUP] Reset agent query state
[18:40:06] [CLEANUP] Updated page indicator
[18:40:06] [CLEANUP] Rebuilt video layout
[18:40:06] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:06] [CLEANUP] ========================================
[18:40:06] [SERVER] Starting reconnect polling (5s interval)
[18:40:06] [CLEANUP] ========================================
[18:40:06] [CLEANUP] Cleaning up all agent connections and views
[18:40:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:40:06] [CLEANUP] Stopped and removed 0 video connections
[18:40:06] [CLEANUP] Removed 0 video views
[18:40:06] [CLEANUP] Removed 0 feed scroll views
[18:40:06] [CLEANUP] Removed 0 status labels
[18:40:06] [CLEANUP] Reset agent query state
[18:40:06] [CLEANUP] Updated page indicator
[18:40:06] [CLEANUP] Rebuilt video layout
[18:40:06] [CLEANUP] ✅ All agent connections and views cleaned up
[18:40:06] [CLEANUP] ========================================
[18:40:06] [SERVER] Starting reconnect polling (5s interval)
[18:40:06] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:40:06] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[18:40:06] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[18:40:06] [LIFECYCLE] App entering background - cleared crash flag
[18:40:06] [CLIENT_SIG] Disconnecting
[18:40:06] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:40:06] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:40:06] [PUSH_TRACE] 💤 BACKGROUND: memory has 103 messages, first 10 IDs=[23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826]
[18:40:06] [LIFECYCLE] Background snapshot: count=103, maxId=23835
[18:40:06] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:40:06] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:40:06] In cleanupPeer
[18:40:06] In cleanupPeer
[18:40:06] [LIFECYCLE] WebRTC audio disabled
[18:40:06] [LIFECYCLE] AVAudioSession deactivated
[18:40:06] [LIFECYCLE] All connections stopped
[18:40:06] [CLIENT_SIG] WebSocket closed with code 1001
[18:40:06] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:40:06] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:40:06] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:40:06] [SERVER] Stopped reconnect polling
[18:40:06] [WS] URLSession invalidated successfully
[18:40:06] Will request stop of video 0
[18:40:06] Will request stop of video 0
[18:40:06] [PIP] Removing 0 tracks from PiP for connection 0
[18:40:06] [PIP] ✅ All tracks removed for connection 0
[18:40:06] [PIP] Removing 0 tracks from PiP for connection 0
[18:40:06] [PIP] ✅ All tracks removed for connection 0
[18:42:16] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:16] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:16] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:42:16] [PUSH] Notification tapped - session_id: ILUIWU
[18:42:16] [PUSH] Max message_id before tap: 23835
[18:42:16] [PUSH] Stored pending session: ILUIWU
[18:42:16] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:16 +0000
[18:42:16] [PUSH_TRACE] ⬇️ Processing embedded message_id=23836
[18:42:16] [PUSH_EMBED] 📩 Received embedded message: id=23836, type=0, sender=Esra
[18:42:16] [PUSH_TRACE] ⬇️ Message details: text="Nope baby, Im home...", datesent=2026-03-06 17:42:11
[18:42:16] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[18:42:16] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23836
[18:42:16] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23836
[18:42:16] [PUSH_EMBED] ✅ Saved message 23836 to local DB (sync)
[18:42:16] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23836
[18:42:16] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23836
[18:42:16] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23836
[18:42:16] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823]
[18:42:16] [PUSH_EMBED] Inserted message 23836 into existing cache (now 51 messages)
[18:42:16] [PUSH_TRACE] 📦 ✅ Inserted message 23836, cache now has IDs: [23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:42:16] [PUSH_TRACE] 📦 EXITING cache update queue for message 23836
[18:42:16] [PUSH_EMBED] Fetching evolution data for message 23836 in background
[18:42:16] [PUSH_EMBED] ✅ Fully processed message 23836
[18:42:16] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23836
[18:42:16] [PUSH] Embedded message handled instantly on tap
[18:42:16] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:42:16] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:42:16] [PUSH] Fetching server messages since_id=23835 to catch coalesced notifications on tap
[18:42:16] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23835 to catch coalesced notifications
[18:42:16] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:42:16] [LIFECYCLE] App entering foreground - restoring connections
[18:42:16] [PUSH_TRACE] 🔄 FOREGROUND: memory has 103 msgs, IDs=[23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826]
[18:42:16] [PUSH_TRACE] 🔄 FOREGROUND: cache has 51 msgs, valid=true, IDs=[23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:42:16] [LIFECYCLE] Away > 2 minutes (130s) - will scroll to bottom
[18:42:16] [UPLOAD_RETRY] No pending uploads to retry
[18:42:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=103
[18:42:16] [READBY_OPT] Fetching readBy for 3 unsettled messages (targeted)
[18:42:16] [LIFECYCLE] WebRTC audio re-enabled
[18:42:16] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:42:16] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:42:16] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:42:16] [VIEWER] Reconnecting after background - querying agents
[18:42:16] [UNSENT_RETRY] Checking for unsent messages...
[18:42:16] [PENDING_UPLOAD] Total pending upload messages: 0
[18:42:16] [UNSENT_RETRY] No unsent messages found
[18:42:16] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[18:42:16] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[18:42:16] [PUSH_TRACE] 👁️ Received message id=23836, text="Nope baby, Im home..."
[18:42:16] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[18:42:16] [PUSH_TRACE] 👁️ BEFORE insert: 103 messages, first 5 IDs: [23835, 23834, 23833, 23832, 23831]
[18:42:16] [PUSH_TRACE] 👁️ Inserted message 23836 at index 0
[18:42:16] [PUSH_UI] Inserted message 23836 into UI (now 104 messages)
[18:42:16] [PUSH_TRACE] 👁️ AFTER insert: 104 messages, first 5 IDs: [23836, 23835, 23834, 23833, 23832]
[18:42:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:42:16] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:16] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[18:42:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11
[18:42:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23836, 23835, 23834, 23833, 23832]
[18:42:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:42:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:17] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:42:17] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:42:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=11
[18:42:17] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:17] HELLO → sent (cached token, role=query)
[18:42:17] [CLIENT_SIG] WebSocket opened
[18:42:17] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:42:17] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[18:42:17] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:42:17] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:17] [PUSH] handlePollEventsNotification userInfo: [:]
[18:42:17] [PUSH] No message_id in userInfo
[18:42:17] [PUSH] No operation_type in userInfo
[18:42:17] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:42:17] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:42:17] [PUSH_TRACE] 📬 POLL: memory state: count=104, first 10 IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:17] [FAST_REFRESH] Already have 104 messages in memory
[18:42:17] [FAST_REFRESH] maxMemoryId=23836, maxLocalId=23836
[18:42:17] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:42:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:42:17] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:42:17] [READBY_OPT] Fetching readBy for 3 unsettled messages (targeted)
[18:42:17] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=104
[18:42:17] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23836, maxMemoryId=23836
[18:42:17] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23836
[18:42:17] [CLIENT_SIG] Connected! clientId=6qlHykMOss5WvqQa
[18:42:17] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:17] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:17] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:17] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:17] [CLEANUP] ========================================
[18:42:17] [CLEANUP] Cleaning up all agent connections and views
[18:42:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:17] [CLEANUP] Stopped and removed 0 video connections
[18:42:17] [CLEANUP] Removed 0 video views
[18:42:17] [CLEANUP] Removed 0 feed scroll views
[18:42:17] [CLEANUP] Removed 0 status labels
[18:42:17] [CLEANUP] Reset agent query state
[18:42:17] [CLEANUP] Updated page indicator
[18:42:17] [CLEANUP] Rebuilt video layout
[18:42:17] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:17] [CLEANUP] ========================================
[18:42:17] [SERVER] Starting reconnect polling (5s interval)
[18:42:17] [CLEANUP] ========================================
[18:42:17] [CLEANUP] Cleaning up all agent connections and views
[18:42:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:17] [CLEANUP] Stopped and removed 0 video connections
[18:42:17] [CLEANUP] Removed 0 video views
[18:42:17] [CLEANUP] Removed 0 feed scroll views
[18:42:17] [CLEANUP] Removed 0 status labels
[18:42:17] [CLEANUP] Reset agent query state
[18:42:17] [CLEANUP] Updated page indicator
[18:42:17] [CLEANUP] Rebuilt video layout
[18:42:17] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:17] [CLEANUP] ========================================
[18:42:17] [SERVER] Starting reconnect polling (5s interval)
[18:42:17] [PUSH_EMBED] Got evolution data for message 23836, saving to local DB
[18:42:17] [PUSH_EMBED] Saved evolution data for message 23836
[18:42:17] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:42:17] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[18:42:17] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:42:17] [INCREMENTAL_SYNC] ✅ No new messages
[18:42:17] [FAST_REFRESH] Incremental sync complete - 104 messages
[18:42:17] [COMBINED_FETCH] Loaded 3 read receipts, 0 messages with reactions
[18:42:17] [FOREGROUND] Enriched 3/3 unsettled messages with readBy data
[18:42:17] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=104>103=true, maxId=23836>23835=true, shouldScroll=true
[18:42:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:42:17] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:17] [COMBINED_FETCH] Loaded 3 read receipts, 0 messages with reactions
[18:42:17] [FAST_REFRESH] Enriched 3/3 unsettled messages with readBy data
[18:42:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:42:17] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:17] [PUSH_PRELOAD] Fetched 1 messages - caching for instant display
[18:42:17] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=1, sessionId=ILUIWU
[18:42:17] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23836]
[18:42:17] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:42:17] [PRELOAD_CACHE] Preserving 50 push-inserted messages: [23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787, 23786, 23785, 23784, 23783]
[18:42:17] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787, 23786, 23785, 23784, 23783]
[18:42:17] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824]
[18:42:17] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 50 from push)
[18:42:17] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:42:17] [PUSH] Server fetch on tap completed (success=true)
[18:42:17] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:17] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 23836, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): {
datesent = "2026-03-06 17:42:11";
"file_name" = "";
message = "Nope baby, Im home";
"message_id" = 23836;
"message_type" = 0;
"prev_session_message_id" = 23835;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[18:42:17] [PUSH_EMBED_VC] Message 23836 already in memory - skipping
[18:42:17] [PUSH] ⚡ Embedded message handled directly in ViewController
[18:42:17] [PUSH] Parsed message_id: 23836
[18:42:17] [PUSH] Parsed operation_type: 0
[18:42:17] [PUSH] Taking direct action: opType=0, messageId=23836
[18:42:17] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23836
[18:42:17] [PUSH] ⚡ Message 23836 already in memory - skipping duplicate notification entirely
[18:42:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11
[18:42:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23836, 23835, 23834, 23833, 23832]
[18:42:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:42:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:17] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:42:17] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:42:17] [SCROLL] 💓 alive, visible=95...105, rows=106, estHeight=60.0, heightCalls=0
[18:42:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=11
[18:42:17] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23835 → 23836
[18:42:18] [PIN_AUTH] Correct PIN
[18:42:18] [SECURITY] Restored real session: ILUIWU
[18:42:18] [SECURITY] Restored real session: ILUIWU
[18:42:18] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:18] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:18] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[18:42:18] [FAKE MODE] Exiting fake mode, restoring real session
[18:42:18] [SECURITY] Restored real session: ILUIWU
[18:42:18] [SECURITY] Saved real session: ILUIWU
[18:42:18] [FAKE MODE] ✅ Restored real session: ILUIWU
[18:42:19] [FAKE MODE] Loaded 50 messages (limited to page size)
[18:42:19] [READBY_OPT] No message IDs to fetch - skipping server call
[18:42:19] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[18:42:19] [AUTH] Cache had 51 messages, maxExistingId=23836, inserted 0 truly new
[18:42:19] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>103=false, maxId=23836>23835=true, shouldScroll=true
[18:42:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[18:42:19] [AUTH] UI update complete
[18:42:19] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data
[18:42:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[18:42:19] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:19] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[18:42:19] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[18:42:19] [SCROLL] 💓 alive, visible=0...10, rows=51, estHeight=60.0, heightCalls=25
[18:42:19] [SCROLL_BTN] Showing button - 2702pt from bottom > half 379pt
[18:42:19] [PAGINATION] 🔄 Older triggered: firstVisible=0, totalRows=51
[18:42:19] [PAGINATION] 📜 Starting load, offset=50, totalLoaded=50
[18:42:19] [PAGINATION] 📜 DB returned 50 messages
[18:42:19] [PAGINATION] 📜 Loading 50 older messages, firstVisibleRow=0, oldOffset=20.0
[18:42:19] [PAGINATION] 📜 Total now: 100
[18:42:19] [RELOAD_TAB] ⚡ performReload ENTER, skip=true, estHeight=60.0, heightCalls=0
[18:42:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23736, 23737, 23738, 23739, 23740]
[18:42:19] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages
[18:42:19] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23736, 23737, 23738, 23739, 23740, 23741, 23742, 23743, 23744, 23745]
[18:42:19] [RELOAD_TAB] 📊 Building chatRows from 100 messages
[18:42:19] [USER] ✅ User registered successfully
[18:42:19] [PUSH] User registration after token update: success
[18:42:19] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0
[18:42:19] [RELOAD_TAB] 📊 reloadData() START, rows=102
[18:42:19] [RELOAD_TAB] 📊 reloadData() DONE, heightCalls=0
[18:42:19] [RELOAD_TAB] 📊 layoutIfNeeded() START
[18:42:19] [CELL_UPLOAD] configure: msgId=23736, file=fbad63a366619f78.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[18:42:19] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=fbad63a366619f78.jpg, overlayExists=true
[18:42:19] [CELL_UPLOAD] configure: msgId=23740, file=38f7bdcbaad66d3e.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0
[18:42:19] [CELL_UPLOAD] → not my message, setting complete
[18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=38f7bdcbaad66d3e.jpg, overlayExists=true
[18:42:19] [RELOAD_TAB] 📊 layoutIfNeeded() DONE, heightCalls=7
[18:42:19] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7
[18:42:19] [PAGINATION] 📜 newHeight=6680.0, heightDiff=3200.0, newOffset=3220.0
[18:42:19] [PAGINATION] 📜 After setContentOffset, actual offset=3220.0
[18:42:19] [PAGINATION] 📜 Done, offset=3220.0
[18:42:19] [CELL_UPLOAD] configure: msgId=23779, file=c4ff0b7976fae65e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[18:42:19] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c4ff0b7976fae65e.jpg, overlayExists=true
[18:42:19] [GIF] configure msgId=23785 file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif msgChanged=true owner=false animating=false completed=false
[18:42:19] [GIF] msgId=23785 CONTINUE animation (elapsed=149.8915719985962s)
[18:42:19] [CELL_UPLOAD] configure: msgId=23785, file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=true, uploadStatus=0
[18:42:19] [CELL_UPLOAD] → giphy file, no upload needed, setting complete
[18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, overlayExists=true
[18:42:19] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:19] HELLO → sent (cached token, role=query)
[18:42:19] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:19] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:19] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:19] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:19] [CLEANUP] ========================================
[18:42:19] [CLEANUP] Cleaning up all agent connections and views
[18:42:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:19] [CLEANUP] Stopped and removed 0 video connections
[18:42:19] [CLEANUP] Removed 0 video views
[18:42:19] [CLEANUP] Removed 0 feed scroll views
[18:42:19] [CLEANUP] Removed 0 status labels
[18:42:19] [CLEANUP] Reset agent query state
[18:42:19] [CLEANUP] Updated page indicator
[18:42:19] [CLEANUP] Rebuilt video layout
[18:42:19] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:19] [CLEANUP] ========================================
[18:42:19] [SERVER] Starting reconnect polling (5s interval)
[18:42:19] [CLEANUP] ========================================
[18:42:19] [CLEANUP] Cleaning up all agent connections and views
[18:42:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:19] [CLEANUP] Stopped and removed 0 video connections
[18:42:19] [CLEANUP] Removed 0 video views
[18:42:19] [CLEANUP] Removed 0 feed scroll views
[18:42:19] [CLEANUP] Removed 0 status labels
[18:42:19] [CLEANUP] Reset agent query state
[18:42:19] [CLEANUP] Updated page indicator
[18:42:19] [CLEANUP] Rebuilt video layout
[18:42:19] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:19] [CLEANUP] ========================================
[18:42:19] [SERVER] Starting reconnect polling (5s interval)
[18:42:20] [MENU] dismissAnyExistingMenu called
[18:42:20] [MENU] dismissAnyExistingMenu completed
[18:42:20] [SCROLL] 💓 alive, visible=89...98, rows=102, estHeight=60.0, heightCalls=36
[18:42:20] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:20] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:21] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:21] HELLO → sent (cached token, role=query)
[18:42:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:21] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:21] [CLEANUP] ========================================
[18:42:21] [CLEANUP] Cleaning up all agent connections and views
[18:42:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:21] [CLEANUP] Stopped and removed 0 video connections
[18:42:21] [CLEANUP] Removed 0 video views
[18:42:21] [CLEANUP] Removed 0 feed scroll views
[18:42:21] [CLEANUP] Removed 0 status labels
[18:42:21] [CLEANUP] Reset agent query state
[18:42:21] [CLEANUP] Updated page indicator
[18:42:21] [CLEANUP] Rebuilt video layout
[18:42:21] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:21] [CLEANUP] ========================================
[18:42:21] [SERVER] Starting reconnect polling (5s interval)
[18:42:21] [CLEANUP] ========================================
[18:42:21] [CLEANUP] Cleaning up all agent connections and views
[18:42:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:21] [CLEANUP] Stopped and removed 0 video connections
[18:42:21] [CLEANUP] Removed 0 video views
[18:42:21] [CLEANUP] Removed 0 feed scroll views
[18:42:21] [CLEANUP] Removed 0 status labels
[18:42:21] [CLEANUP] Reset agent query state
[18:42:21] [CLEANUP] Updated page indicator
[18:42:21] [CLEANUP] Rebuilt video layout
[18:42:21] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:21] [CLEANUP] ========================================
[18:42:21] [SERVER] Starting reconnect polling (5s interval)
[18:42:21] [CLIENT_SIG] Event received: type=3 messageId=23836
[18:42:21] [WS_EVENT] Received event: type=3, messageId=23836
[18:42:21] [WS_EVENT] Read receipt for message 23836 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:42:21] [PUSH] Silent push received
[18:42:21] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:21 +0000, appState=0, message_id=nil
[18:42:21] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[]
[18:42:21] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:21 +0000
[18:42:21] [PUSH_EMBED] No embedded message_data in notification
[18:42:21] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[18:42:21] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false
[18:42:21] [PUSH] No embedded data, pre-loading messages from server
[18:42:21] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:42:21] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[18:42:21] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[18:42:21] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:21] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache
[18:42:21] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[18:42:21] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:42:21] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23736, 23737, 23738, 23739, 23740, 23741, 23742, 23743, 23744, 23745]
[18:42:21] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23836]
[18:42:21] [PUSH] Parsed message_id: 23836
[18:42:21] [PUSH] Parsed operation_type: 3
[18:42:21] [PUSH] Taking direct action: opType=3, messageId=23836
[18:42:21] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23836
[18:42:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[18:42:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[18:42:22] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:22] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:22] [CLIENT_SIG] Event received: type=3 messageId=23794
[18:42:22] [WS_EVENT] Received event: type=3, messageId=23794
[18:42:22] [WS_EVENT] Read receipt for message 23794 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:42:22] [PUSH] Silent push received
[18:42:22] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:22 +0000, appState=0, message_id=nil
[18:42:22] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:22 +0000
[18:42:22] [PUSH_EMBED] No embedded message_data in notification
[18:42:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[18:42:22] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827], handled=false
[18:42:22] [PUSH] No embedded data, pre-loading messages from server
[18:42:22] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:42:22] [SCROLL] 💓 alive, visible=91...97, rows=102, estHeight=60.0, heightCalls=9
[18:42:22] [SCROLL_BTN] Showing button - 310pt from bottom > half 223pt
[18:42:23] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:23] HELLO → sent (cached token, role=query)
[18:42:23] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:23] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:23] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:23] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:23] [CLEANUP] ========================================
[18:42:23] [CLEANUP] Cleaning up all agent connections and views
[18:42:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:23] [CLEANUP] Stopped and removed 0 video connections
[18:42:23] [CLEANUP] Removed 0 video views
[18:42:23] [CLEANUP] Removed 0 feed scroll views
[18:42:23] [CLEANUP] Removed 0 status labels
[18:42:23] [CLEANUP] Reset agent query state
[18:42:23] [CLEANUP] Updated page indicator
[18:42:23] [CLEANUP] Rebuilt video layout
[18:42:23] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:23] [CLEANUP] ========================================
[18:42:23] [SERVER] Starting reconnect polling (5s interval)
[18:42:23] [CLEANUP] ========================================
[18:42:23] [CLEANUP] Cleaning up all agent connections and views
[18:42:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:23] [CLEANUP] Stopped and removed 0 video connections
[18:42:23] [CLEANUP] Removed 0 video views
[18:42:23] [CLEANUP] Removed 0 feed scroll views
[18:42:23] [CLEANUP] Removed 0 status labels
[18:42:23] [CLEANUP] Reset agent query state
[18:42:23] [CLEANUP] Updated page indicator
[18:42:23] [CLEANUP] Rebuilt video layout
[18:42:23] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:23] [CLEANUP] ========================================
[18:42:23] [SERVER] Starting reconnect polling (5s interval)
[18:42:23] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[18:42:23] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[18:42:23] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:23] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:23] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[18:42:23] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:23] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[18:42:23] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:42:23] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23736, 23737, 23738, 23739, 23740, 23741, 23742, 23743, 23744, 23745]
[18:42:23] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23794]
[18:42:23] [PUSH] Parsed message_id: 23794
[18:42:23] [PUSH] Parsed operation_type: 3
[18:42:23] [PUSH] Taking direct action: opType=3, messageId=23794
[18:42:23] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23794
[18:42:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:24] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:24] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:24] HELLO → sent (cached token, role=query)
[18:42:24] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:24] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:24] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:24] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:24] [CLEANUP] ========================================
[18:42:24] [CLEANUP] Cleaning up all agent connections and views
[18:42:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:24] [CLEANUP] Stopped and removed 0 video connections
[18:42:24] [CLEANUP] Removed 0 video views
[18:42:24] [CLEANUP] Removed 0 feed scroll views
[18:42:24] [CLEANUP] Removed 0 status labels
[18:42:24] [CLEANUP] Reset agent query state
[18:42:24] [CLEANUP] Updated page indicator
[18:42:24] [CLEANUP] Rebuilt video layout
[18:42:24] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:24] [CLEANUP] ========================================
[18:42:24] [SERVER] Starting reconnect polling (5s interval)
[18:42:24] [CLEANUP] ========================================
[18:42:24] [CLEANUP] Cleaning up all agent connections and views
[18:42:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:24] [CLEANUP] Stopped and removed 0 video connections
[18:42:24] [CLEANUP] Removed 0 video views
[18:42:24] [CLEANUP] Removed 0 feed scroll views
[18:42:24] [CLEANUP] Removed 0 status labels
[18:42:24] [CLEANUP] Reset agent query state
[18:42:24] [CLEANUP] Updated page indicator
[18:42:24] [CLEANUP] Rebuilt video layout
[18:42:24] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:24] [CLEANUP] ========================================
[18:42:24] [SERVER] Starting reconnect polling (5s interval)
[18:42:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:26] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:26] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:26] HELLO → sent (cached token, role=query)
[18:42:26] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:26] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:26] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:26] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:26] [CLEANUP] ========================================
[18:42:26] [CLEANUP] Cleaning up all agent connections and views
[18:42:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:26] [CLEANUP] Stopped and removed 0 video connections
[18:42:26] [CLEANUP] Removed 0 video views
[18:42:26] [CLEANUP] Removed 0 feed scroll views
[18:42:26] [CLEANUP] Removed 0 status labels
[18:42:26] [CLEANUP] Reset agent query state
[18:42:26] [CLEANUP] Updated page indicator
[18:42:26] [CLEANUP] Rebuilt video layout
[18:42:26] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:26] [CLEANUP] ========================================
[18:42:26] [SERVER] Starting reconnect polling (5s interval)
[18:42:26] [CLEANUP] ========================================
[18:42:26] [CLEANUP] Cleaning up all agent connections and views
[18:42:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:26] [CLEANUP] Stopped and removed 0 video connections
[18:42:26] [CLEANUP] Removed 0 video views
[18:42:26] [CLEANUP] Removed 0 feed scroll views
[18:42:26] [CLEANUP] Removed 0 status labels
[18:42:26] [CLEANUP] Reset agent query state
[18:42:26] [CLEANUP] Updated page indicator
[18:42:26] [CLEANUP] Rebuilt video layout
[18:42:26] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:26] [CLEANUP] ========================================
[18:42:26] [SERVER] Starting reconnect polling (5s interval)
[18:42:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:28] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:28] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:28] HELLO → sent (cached token, role=query)
[18:42:28] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:28] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:28] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:28] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:28] [CLEANUP] ========================================
[18:42:28] [CLEANUP] Cleaning up all agent connections and views
[18:42:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:28] [CLEANUP] Stopped and removed 0 video connections
[18:42:28] [CLEANUP] Removed 0 video views
[18:42:28] [CLEANUP] Removed 0 feed scroll views
[18:42:28] [CLEANUP] Removed 0 status labels
[18:42:28] [CLEANUP] Reset agent query state
[18:42:28] [CLEANUP] Updated page indicator
[18:42:28] [CLEANUP] Rebuilt video layout
[18:42:28] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:28] [CLEANUP] ========================================
[18:42:28] [SERVER] Starting reconnect polling (5s interval)
[18:42:28] [CLEANUP] ========================================
[18:42:28] [CLEANUP] Cleaning up all agent connections and views
[18:42:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:28] [CLEANUP] Stopped and removed 0 video connections
[18:42:28] [CLEANUP] Removed 0 video views
[18:42:28] [CLEANUP] Removed 0 feed scroll views
[18:42:28] [CLEANUP] Removed 0 status labels
[18:42:28] [CLEANUP] Reset agent query state
[18:42:28] [CLEANUP] Updated page indicator
[18:42:28] [CLEANUP] Rebuilt video layout
[18:42:28] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:28] [CLEANUP] ========================================
[18:42:28] [SERVER] Starting reconnect polling (5s interval)
[18:42:28] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[18:42:30] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:30] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:30] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:30] HELLO → sent (cached token, role=query)
[18:42:30] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:30] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:30] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:30] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:30] [CLEANUP] ========================================
[18:42:30] [CLEANUP] Cleaning up all agent connections and views
[18:42:30] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:30] [CLEANUP] Stopped and removed 0 video connections
[18:42:30] [CLEANUP] Removed 0 video views
[18:42:30] [CLEANUP] Removed 0 feed scroll views
[18:42:30] [CLEANUP] Removed 0 status labels
[18:42:30] [CLEANUP] Reset agent query state
[18:42:30] [CLEANUP] Updated page indicator
[18:42:30] [CLEANUP] Rebuilt video layout
[18:42:30] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:30] [CLEANUP] ========================================
[18:42:30] [SERVER] Starting reconnect polling (5s interval)
[18:42:30] [CLEANUP] ========================================
[18:42:30] [CLEANUP] Cleaning up all agent connections and views
[18:42:30] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:30] [CLEANUP] Stopped and removed 0 video connections
[18:42:30] [CLEANUP] Removed 0 video views
[18:42:30] [CLEANUP] Removed 0 feed scroll views
[18:42:30] [CLEANUP] Removed 0 status labels
[18:42:30] [CLEANUP] Reset agent query state
[18:42:30] [CLEANUP] Updated page indicator
[18:42:30] [CLEANUP] Rebuilt video layout
[18:42:30] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:30] [CLEANUP] ========================================
[18:42:30] [SERVER] Starting reconnect polling (5s interval)
[18:42:32] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:32] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:32] [CLIENT_SIG] Typing start from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[18:42:32] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:32] HELLO → sent (cached token, role=query)
[18:42:32] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:32] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:32] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:32] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:32] [CLEANUP] ========================================
[18:42:32] [CLEANUP] Cleaning up all agent connections and views
[18:42:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:32] [CLEANUP] Stopped and removed 0 video connections
[18:42:32] [CLEANUP] Removed 0 video views
[18:42:32] [CLEANUP] Removed 0 feed scroll views
[18:42:32] [CLEANUP] Removed 0 status labels
[18:42:32] [CLEANUP] Reset agent query state
[18:42:32] [CLEANUP] Updated page indicator
[18:42:32] [CLEANUP] Rebuilt video layout
[18:42:32] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:32] [CLEANUP] ========================================
[18:42:32] [SERVER] Starting reconnect polling (5s interval)
[18:42:32] [CLEANUP] ========================================
[18:42:32] [CLEANUP] Cleaning up all agent connections and views
[18:42:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:32] [CLEANUP] Stopped and removed 0 video connections
[18:42:32] [CLEANUP] Removed 0 video views
[18:42:32] [CLEANUP] Removed 0 feed scroll views
[18:42:32] [CLEANUP] Removed 0 status labels
[18:42:32] [CLEANUP] Reset agent query state
[18:42:32] [CLEANUP] Updated page indicator
[18:42:32] [CLEANUP] Rebuilt video layout
[18:42:32] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:32] [CLEANUP] ========================================
[18:42:32] [SERVER] Starting reconnect polling (5s interval)
[18:42:32] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[18:42:33] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[18:42:33] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=100, isReloading=false
[18:42:33] [SEND_MESSAGE] ✅ Added optimistic message id=-8 to arrays, newMsgCount=101
[18:42:33] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=7
[18:42:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=101, first5Ids=[-8, 23836, 23835, 23834, 23833]
[18:42:33] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 101 messages
[18:42:33] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-8, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:33] [RELOAD_TAB] 📊 Building chatRows from 101 messages
[18:42:33] [RELOAD_TAB] 📊 Built 103 chatRows, estHeight=60.0
[18:42:33] [SCROLL] 💓 alive, visible=95...102, rows=103, estHeight=60.0, heightCalls=9
[18:42:33] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[18:42:33] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[18:42:33] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[18:42:34] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:34] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:34] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:34] HELLO → sent (cached token, role=query)
[18:42:34] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:34] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:34] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:34] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:34] [CLEANUP] ========================================
[18:42:34] [CLEANUP] Cleaning up all agent connections and views
[18:42:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:34] [CLEANUP] Stopped and removed 0 video connections
[18:42:34] [CLEANUP] Removed 0 video views
[18:42:34] [CLEANUP] Removed 0 feed scroll views
[18:42:34] [CLEANUP] Removed 0 status labels
[18:42:34] [CLEANUP] Reset agent query state
[18:42:34] [CLEANUP] Updated page indicator
[18:42:34] [CLEANUP] Rebuilt video layout
[18:42:34] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:34] [CLEANUP] ========================================
[18:42:34] [SERVER] Starting reconnect polling (5s interval)
[18:42:34] [CLEANUP] ========================================
[18:42:34] [CLEANUP] Cleaning up all agent connections and views
[18:42:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:34] [CLEANUP] Stopped and removed 0 video connections
[18:42:34] [CLEANUP] Removed 0 video views
[18:42:34] [CLEANUP] Removed 0 feed scroll views
[18:42:34] [CLEANUP] Removed 0 status labels
[18:42:34] [CLEANUP] Reset agent query state
[18:42:34] [CLEANUP] Updated page indicator
[18:42:34] [CLEANUP] Rebuilt video layout
[18:42:34] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:34] [CLEANUP] ========================================
[18:42:34] [SERVER] Starting reconnect polling (5s interval)
[18:42:34] [LIFECYCLE] App resigning active - cleared crash flag
[18:42:35] [CLIENT_SIG] Event received: type=0 messageId=23837
[18:42:35] [WS_EVENT] Received event: type=0, messageId=23837
[18:42:35] [WS_EVENT] 📨 New message notification (msgId=23837) - triggering incremental refresh, currentMsgCount=101
[18:42:35] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=101
[18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23836, maxMemoryId=23836
[18:42:35] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23836
[18:42:35] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 17:42:35 +0000 - type: unknown, operation_type: 0, message_id: 23837, session_id: ILUIWU, state: 1
[18:42:35] [PUSH_DEBUG] Full userInfo: [AnyHashable("message_data"): {
datesent = "2026-03-06 17:42:32";
"file_name" = "";
message = "Im home since Tuesday evening \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23837;
"message_type" = 0;
"prev_session_message_id" = 23836;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23837, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
[18:42:35] [PUSH] Max message_id before push: 23836
[18:42:35] [PUSH_TRACE] 🔔 willPresent (background): maxIdBeforePush=23836, currentSessionId=ILUIWU
[18:42:35] [PUSH_TRACE] 🔔 willPresent: cache BEFORE handleEmbeddedMessageData: count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:35 +0000
[18:42:35] [PUSH_TRACE] ⬇️ Processing embedded message_id=23837
[18:42:35] [PUSH_EMBED] 📩 Received embedded message: id=23837, type=0, sender=Esra
[18:42:35] [PUSH_TRACE] ⬇️ Message details: text="Im home since Tuesday evening 🤣🤣...", datesent=2026-03-06 17:42:32
[18:42:35] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[18:42:35] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23837
[18:42:35] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23837
[18:42:35] [PUSH_EMBED] ✅ Saved message 23837 to local DB (sync)
[18:42:35] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23837
[18:42:35] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23837
[18:42:35] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23837
[18:42:35] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827]
[18:42:35] [PUSH_EMBED] Inserted message 23837 into existing cache (now 51 messages)
[18:42:35] [PUSH_TRACE] 📦 ✅ Inserted message 23837, cache now has IDs: [23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:35] [PUSH_TRACE] 📦 EXITING cache update queue for message 23837
[18:42:35] [PUSH_EMBED] Fetching evolution data for message 23837 in background
[18:42:35] [PUSH_EMBED] ✅ Fully processed message 23837
[18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23837
[18:42:35] [PUSH_TRACE] 🔔 willPresent: cache AFTER handleEmbeddedMessageData: count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828], handled=true
[18:42:35] [PUSH] App not active - showing notification
[18:42:35] [PUSH] Fetching server messages since_id=23836 to catch coalesced notifications
[18:42:35] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23836 to catch coalesced notifications
[18:42:35] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:42:35] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[18:42:35] [PUSH_TRACE] 👁️ Received message id=23837, text="Im home since Tuesday evening ..."
[18:42:35] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[18:42:35] [PUSH_TRACE] 👁️ BEFORE insert: 101 messages, first 5 IDs: [-8, 23836, 23835, 23834, 23833]
[18:42:35] [PUSH_TRACE] 👁️ Inserted message 23837 at index 1
[18:42:35] [PUSH_UI] Inserted message 23837 into UI (now 102 messages)
[18:42:35] [PUSH_TRACE] 👁️ AFTER insert: 102 messages, first 5 IDs: [-8, 23837, 23836, 23835, 23834]
[18:42:35] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[18:42:35] [PUSH] Silent push received
[18:42:35] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:35 +0000, appState=1, message_id=23837
[18:42:35] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:35 +0000
[18:42:35] [PUSH_TRACE] ⬇️ Processing embedded message_id=23837
[18:42:35] [PUSH_EMBED] 📩 Received embedded message: id=23837, type=0, sender=Esra
[18:42:35] [PUSH_TRACE] ⬇️ Message details: text="Im home since Tuesday evening 🤣🤣...", datesent=2026-03-06 17:42:32
[18:42:35] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[18:42:35] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23837
[18:42:35] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23837
[18:42:35] [PUSH_EMBED] ✅ Saved message 23837 to local DB (sync)
[18:42:35] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23837
[18:42:35] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23837
[18:42:35] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23837
[18:42:35] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:35] [PUSH_TRACE] 📦 ⚠️ Message 23837 already in cache, skipping insert
[18:42:35] [PUSH_TRACE] 📦 EXITING cache update queue for message 23837
[18:42:35] [PUSH_EMBED] Fetching evolution data for message 23837 in background
[18:42:35] [PUSH_EMBED] ✅ Fully processed message 23837
[18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23837
[18:42:35] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828], handled=true
[18:42:35] [PUSH] Embedded message handled instantly from silent push
[18:42:35] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[18:42:35] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23837
[18:42:35] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[18:42:35] [PUSH_TRACE] 👁️ Received message id=23837, text="Im home since Tuesday evening ..."
[18:42:35] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[18:42:35] [PUSH_UI] Message 23837 already in memory - skipping insert
[18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[18:42:35] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[-8, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:35] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): {
datesent = "2026-03-06 17:42:32";
"file_name" = "";
message = "Im home since Tuesday evening \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23837;
"message_type" = 0;
"prev_session_message_id" = 23836;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("message_id"): 23837, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
[18:42:35] [PUSH_EMBED_VC] Message 23837 already in memory - skipping
[18:42:35] [PUSH] ⚡ Embedded message handled directly in ViewController
[18:42:35] [PUSH] Parsed message_id: 23837
[18:42:35] [PUSH] Parsed operation_type: 0
[18:42:35] [PUSH] Taking direct action: opType=0, messageId=23837
[18:42:35] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23837
[18:42:35] [PUSH] ⚡ Message 23837 already in memory - skipping duplicate notification entirely
[18:42:35] [INCREMENTAL_SYNC] ✅ Found 2 new messages
[18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 2 new messages, IDs=[23838, 23837]
[18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 102 msgs, first 10 IDs=[-8, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23838
[18:42:35] [INCREMENTAL_SYNC] Replaced optimistic message (id=-8) with server message (id=23838)
[18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:35] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=2
[18:42:35] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:35] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:35] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=102
[18:42:35] [PUSH_EMBED] Got evolution data for message 23837, saving to local DB
[18:42:35] [PUSH_EMBED] Saved evolution data for message 23837
[18:42:35] [PUSH_EMBED] Got evolution data for message 23837, saving to local DB
[18:42:35] [PUSH_EMBED] Saved evolution data for message 23837
[18:42:35] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11
[18:42:35] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834]
[18:42:35] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:42:35] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:35] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:42:35] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:42:35] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23836 → 23837
[18:42:35] [SCROLL] 💓 alive, visible=96...103, rows=104, estHeight=60.0, heightCalls=9
[18:42:35] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[18:42:35] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:42:35] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:42:35] [SECURITY] Saved background timestamp
[18:42:35] [LIFECYCLE] App entering background - cleared crash flag
[18:42:35] [CLIENT_SIG] Disconnecting
[18:42:35] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:42:35] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:42:35] [PUSH_TRACE] 💤 BACKGROUND: memory has 102 messages, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:35] [LIFECYCLE] Background snapshot: count=102, maxId=23838
[18:42:35] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:42:35] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:42:35] In cleanupPeer
[18:42:35] In cleanupPeer
[18:42:35] [LIFECYCLE] WebRTC audio disabled
[18:42:35] [LIFECYCLE] AVAudioSession deactivated
[18:42:35] [LIFECYCLE] All connections stopped
[18:42:35] [CLIENT_SIG] WebSocket closed with code 1001
[18:42:35] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:42:35] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:42:35] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:42:35] [SERVER] Stopped reconnect polling
[18:42:35] [WS] URLSession invalidated successfully
[18:42:35] Will request stop of video 0
[18:42:35] Will request stop of video 0
[18:42:35] [PIP] Removing 0 tracks from PiP for connection 0
[18:42:35] [PIP] ✅ All tracks removed for connection 0
[18:42:35] [PIP] Removing 0 tracks from PiP for connection 0
[18:42:35] [PIP] ✅ All tracks removed for connection 0
[18:42:36] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:36] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:36] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:36] HELLO → sent (cached token, role=query)
[18:42:36] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:36] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:36] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:36] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:36] [CLEANUP] ========================================
[18:42:36] [CLEANUP] Cleaning up all agent connections and views
[18:42:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:36] [CLEANUP] Stopped and removed 0 video connections
[18:42:36] [CLEANUP] Removed 0 video views
[18:42:36] [CLEANUP] Removed 0 feed scroll views
[18:42:36] [CLEANUP] Removed 0 status labels
[18:42:36] [CLEANUP] Reset agent query state
[18:42:36] [CLEANUP] Updated page indicator
[18:42:36] [CLEANUP] Rebuilt video layout
[18:42:36] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:36] [CLEANUP] ========================================
[18:42:36] [SERVER] Skipping reconnect polling - app is in background
[18:42:36] [CLEANUP] ========================================
[18:42:36] [CLEANUP] Cleaning up all agent connections and views
[18:42:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:36] [CLEANUP] Stopped and removed 0 video connections
[18:42:36] [CLEANUP] Removed 0 video views
[18:42:36] [CLEANUP] Removed 0 feed scroll views
[18:42:36] [CLEANUP] Removed 0 status labels
[18:42:36] [CLEANUP] Reset agent query state
[18:42:36] [CLEANUP] Updated page indicator
[18:42:36] [CLEANUP] Rebuilt video layout
[18:42:36] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:36] [CLEANUP] ========================================
[18:42:36] [SERVER] Skipping reconnect polling - app is in background
[18:42:36] [PUSH] Notification tapped - session_id: ILUIWU
[18:42:36] [PUSH] Max message_id before tap: 23838
[18:42:36] [PUSH] Stored pending session: ILUIWU
[18:42:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:36 +0000
[18:42:36] [PUSH_TRACE] ⬇️ Processing embedded message_id=23837
[18:42:36] [PUSH_EMBED] 📩 Received embedded message: id=23837, type=0, sender=Esra
[18:42:36] [PUSH_TRACE] ⬇️ Message details: text="Im home since Tuesday evening 🤣🤣...", datesent=2026-03-06 17:42:32
[18:42:36] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[18:42:36] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23837
[18:42:36] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23837
[18:42:36] [PUSH_EMBED] ✅ Saved message 23837 to local DB (sync)
[18:42:36] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23837
[18:42:36] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23837
[18:42:36] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23837
[18:42:36] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:36] [PUSH_TRACE] 📦 ⚠️ Message 23837 already in cache, skipping insert
[18:42:36] [PUSH_TRACE] 📦 EXITING cache update queue for message 23837
[18:42:36] [PUSH_EMBED] Fetching evolution data for message 23837 in background
[18:42:36] [PUSH_EMBED] ✅ Fully processed message 23837
[18:42:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23837
[18:42:36] [PUSH] Embedded message handled instantly on tap
[18:42:36] [SECURITY] Timeout check: elapsed=0.9555830955505371s, timeout=300.0s
[18:42:36] [PUSH] Fetching server messages since_id=23838 to catch coalesced notifications on tap
[18:42:36] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:42:36] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:42:36] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23838 to catch coalesced notifications
[18:42:36] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:42:36] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x12eb34030 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x11c018960 [0x209514d78]>{length = 16, capacity = 16, bytes = 0x100201bb54e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <6053BB54-7135-472D-8E08-71C0529DA2AF>.<97>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <6053BB54-7135-472D-8E08-71C0529DA2AF>.<97>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
[18:42:36] [LIFECYCLE] App entering foreground - restoring connections
[18:42:36] [PUSH_TRACE] 🔄 FOREGROUND: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:36] [PUSH_TRACE] 🔄 FOREGROUND: cache has 51 msgs, valid=true, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:36] [UPLOAD_RETRY] No pending uploads to retry
[18:42:36] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:36] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[18:42:36] [LIFECYCLE] WebRTC audio re-enabled
[18:42:36] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:42:36] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:42:36] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:42:36] [VIEWER] Reconnecting after background - querying agents
[18:42:36] [UNSENT_RETRY] Checking for unsent messages...
[18:42:36] [PENDING_UPLOAD] Total pending upload messages: 0
[18:42:36] [UNSENT_RETRY] No unsent messages found
[18:42:36] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[18:42:36] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[18:42:36] [PUSH_TRACE] 👁️ Received message id=23837, text="Im home since Tuesday evening ..."
[18:42:36] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[18:42:36] [PUSH_UI] Message 23837 already in memory - skipping insert
[18:42:36] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[18:42:36] [CHAT] Network error detected - queuing for retry
[18:42:36] [SEND_STATUS] 💾 Updating DB: messageId=-8, status=3 (pending_retry)
[18:42:36] [SEND_STATUS] ⚠️ DB update: 0 rows affected - messageId=-8 not found in local_messages
[18:42:36] [SEND_STATUS] ⏳ Message -8 marked as PENDING RETRY (waiting for network)
[18:42:36] [SCROLL] 💓 alive, visible=97...103, rows=104, estHeight=60.0, heightCalls=8
[18:42:36] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:42:36] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834]
[18:42:36] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:42:36] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:36] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:42:36] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:42:36] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:42:36] [CLIENT_SIG] WebSocket opened
[18:42:36] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:42:37] [CLIENT_SIG] Connected! clientId=lsHOlBy8zeV6l2NN
[18:42:37] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[18:42:37] [SECURITY] Within timeout - cleared background flag
[18:42:37] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:42:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:37] [PUSH] handlePollEventsNotification userInfo: [:]
[18:42:37] [PUSH] No message_id in userInfo
[18:42:37] [PUSH] No operation_type in userInfo
[18:42:37] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:42:37] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:37] [PUSH_TRACE] 📬 POLL: memory state: count=102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:37] [FAST_REFRESH] Already have 102 messages in memory
[18:42:37] [FAST_REFRESH] maxMemoryId=23838, maxLocalId=23838
[18:42:37] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:42:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:37] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:42:37] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[18:42:37] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102
[18:42:37] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838
[18:42:37] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838
[18:42:37] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:42:37] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[18:42:37] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:42:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8
[18:42:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834]
[18:42:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:42:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:37] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:42:37] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:42:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:42:37] [MENU] dismissAnyExistingMenu called
[18:42:37] [MENU] dismissAnyExistingMenu completed
[18:42:37] [SCROLL] 💓 alive, visible=97...103, rows=104, estHeight=60.0, heightCalls=10
[18:42:37] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:37] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:37] [CLIENT_SIG] Event received: type=0 messageId=23838
[18:42:37] [WS_EVENT] Received event: type=0, messageId=23838
[18:42:37] [PUSH_EMBED] Got evolution data for message 23837, saving to local DB
[18:42:37] [WS_EVENT] 📨 New message notification (msgId=23838) - triggering incremental refresh, currentMsgCount=102
[18:42:37] [INCREMENTAL_SYNC] ⚠️ Already reloading - queuing retry after current completes
[18:42:37] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=102
[18:42:37] [PUSH_EMBED] Saved evolution data for message 23837
[18:42:37] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[18:42:37] [FOREGROUND] Enriched 0/1 unsettled messages with readBy data
[18:42:37] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=102>102=false, maxId=23838>23838=false, shouldScroll=false
[18:42:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:38] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[18:42:38] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data
[18:42:38] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:38] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:38] [PUSH_PRELOAD] No messages or parse error
[18:42:38] [PUSH] Server fetch on tap completed (success=false)
[18:42:38] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:38] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23837, AnyHashable("message_data"): {
datesent = "2026-03-06 17:42:32";
"file_name" = "";
message = "Im home since Tuesday evening \Ud83e\Udd23\Ud83e\Udd23";
"message_id" = 23837;
"message_type" = 0;
"prev_session_message_id" = 23836;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU]
[18:42:38] [PUSH_EMBED_VC] Message 23837 already in memory - skipping
[18:42:38] [PUSH] ⚡ Embedded message handled directly in ViewController
[18:42:38] [PUSH] Parsed message_id: 23837
[18:42:38] [PUSH] Parsed operation_type: 0
[18:42:38] [PUSH] Taking direct action: opType=0, messageId=23837
[18:42:38] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23837
[18:42:38] [PUSH] ⚡ Message 23837 already in memory - skipping duplicate notification entirely
[18:42:38] [INCREMENTAL_SYNC] ✅ No new messages
[18:42:38] [INCREMENTAL_SYNC] 🔁 Processing queued retry refresh
[18:42:38] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102
[18:42:38] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838
[18:42:38] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838
[18:42:38] [FAST_REFRESH] Incremental sync complete - 102 messages
[18:42:38] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:38] HELLO → sent (cached token, role=query)
[18:42:38] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:38] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:38] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:38] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:38] [CLEANUP] ========================================
[18:42:38] [CLEANUP] Cleaning up all agent connections and views
[18:42:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:38] [CLEANUP] Stopped and removed 0 video connections
[18:42:38] [CLEANUP] Removed 0 video views
[18:42:38] [CLEANUP] Removed 0 feed scroll views
[18:42:38] [CLEANUP] Removed 0 status labels
[18:42:38] [CLEANUP] Reset agent query state
[18:42:38] [CLEANUP] Updated page indicator
[18:42:38] [CLEANUP] Rebuilt video layout
[18:42:38] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:38] [CLEANUP] ========================================
[18:42:38] [SERVER] Starting reconnect polling (5s interval)
[18:42:38] [CLEANUP] ========================================
[18:42:38] [CLEANUP] Cleaning up all agent connections and views
[18:42:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:38] [CLEANUP] Stopped and removed 0 video connections
[18:42:38] [CLEANUP] Removed 0 video views
[18:42:38] [CLEANUP] Removed 0 feed scroll views
[18:42:38] [CLEANUP] Removed 0 status labels
[18:42:38] [CLEANUP] Reset agent query state
[18:42:38] [CLEANUP] Updated page indicator
[18:42:38] [CLEANUP] Rebuilt video layout
[18:42:38] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:38] [CLEANUP] ========================================
[18:42:38] [SERVER] Starting reconnect polling (5s interval)
[18:42:38] [INCREMENTAL_SYNC] ✅ No new messages
[18:42:38] [PUSH_PRELOAD] Fetched 2 messages - caching for instant display
[18:42:38] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=2, sessionId=ILUIWU
[18:42:38] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23838, 23837]
[18:42:38] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828]
[18:42:38] [PRELOAD_CACHE] Preserving 50 push-inserted messages: [23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787]
[18:42:38] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787]
[18:42:38] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:38] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 50 from push)
[18:42:38] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:42:38] [PUSH] Server fetch completed (success=true) - posting pollEventsNow
[18:42:38] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:38] [PUSH] handlePollEventsNotification userInfo: [:]
[18:42:38] [PUSH] No message_id in userInfo
[18:42:38] [PUSH] No operation_type in userInfo
[18:42:38] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:42:38] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:38] [PUSH_TRACE] 📬 POLL: memory state: count=102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:38] [FAST_REFRESH] Already have 102 messages in memory
[18:42:38] [FAST_REFRESH] maxMemoryId=23838, maxLocalId=23838
[18:42:38] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:42:38] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:38] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:38] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:42:38] [READBY_OPT] No message IDs to fetch - skipping server call
[18:42:38] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102
[18:42:38] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838
[18:42:38] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838
[18:42:38] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[18:42:38] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:42:38] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:42:38] [INCREMENTAL_SYNC] ✅ No new messages
[18:42:38] [FAST_REFRESH] Incremental sync complete - 102 messages
[18:42:38] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=2
[18:42:38] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834]
[18:42:38] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:42:38] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:38] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:42:38] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:42:38] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:42:39] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:39] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:40] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:42:40] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:40] HELLO → sent (cached token, role=query)
[18:42:40] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:40] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:40] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:40] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:40] [CLEANUP] ========================================
[18:42:40] [CLEANUP] Cleaning up all agent connections and views
[18:42:40] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:40] [CLEANUP] Stopped and removed 0 video connections
[18:42:40] [CLEANUP] Removed 0 video views
[18:42:40] [CLEANUP] Removed 0 feed scroll views
[18:42:40] [CLEANUP] Removed 0 status labels
[18:42:40] [CLEANUP] Reset agent query state
[18:42:40] [CLEANUP] Updated page indicator
[18:42:40] [CLEANUP] Rebuilt video layout
[18:42:40] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:40] [CLEANUP] ========================================
[18:42:40] [SERVER] Starting reconnect polling (5s interval)
[18:42:40] [CLEANUP] ========================================
[18:42:40] [CLEANUP] Cleaning up all agent connections and views
[18:42:40] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:40] [CLEANUP] Stopped and removed 0 video connections
[18:42:40] [CLEANUP] Removed 0 video views
[18:42:40] [CLEANUP] Removed 0 feed scroll views
[18:42:40] [CLEANUP] Removed 0 status labels
[18:42:40] [CLEANUP] Reset agent query state
[18:42:40] [CLEANUP] Updated page indicator
[18:42:40] [CLEANUP] Rebuilt video layout
[18:42:40] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:40] [CLEANUP] ========================================
[18:42:40] [SERVER] Starting reconnect polling (5s interval)
[18:42:40] [CLIENT_SIG] Event received: type=3 messageId=23838
[18:42:40] [WS_EVENT] Received event: type=3, messageId=23838
[18:42:40] [WS_EVENT] Read receipt for message 23838 by Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[18:42:41] [PUSH] Silent push received
[18:42:41] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:41 +0000, appState=0, message_id=nil
[18:42:41] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:41 +0000
[18:42:41] [PUSH_EMBED] No embedded message_data in notification
[18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[18:42:41] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829], handled=false
[18:42:41] [PUSH] No embedded data, pre-loading messages from server
[18:42:41] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:42:41] [CLIENT_SIG] Event received: type=3 messageId=23837
[18:42:41] [WS_EVENT] Received event: type=3, messageId=23837
[18:42:41] [WS_EVENT] Read receipt for message 23837 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:42:41] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [23788, 23787]
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=2, IDs=[23788, 23787]
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[18:42:41] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:42:41] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23838]
[18:42:41] [PUSH] Parsed message_id: 23838
[18:42:41] [PUSH] Parsed operation_type: 3
[18:42:41] [PUSH] Taking direct action: opType=3, messageId=23838
[18:42:41] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23838
[18:42:41] [PUSH] Silent push received
[18:42:41] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:41 +0000, appState=0, message_id=nil
[18:42:41] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:41 +0000
[18:42:41] [PUSH_EMBED] No embedded message_data in notification
[18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[18:42:41] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829], handled=false
[18:42:41] [PUSH] No embedded data, pre-loading messages from server
[18:42:41] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:42:41] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [23788, 23787]
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=2, IDs=[23788, 23787]
[18:42:41] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[18:42:41] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:42:41] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:41] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23837]
[18:42:41] [PUSH] Parsed message_id: 23837
[18:42:41] [PUSH] Parsed operation_type: 3
[18:42:41] [PUSH] Taking direct action: opType=3, messageId=23837
[18:42:41] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23837
[18:42:41] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:41] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:42] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:42] HELLO → sent (cached token, role=query)
[18:42:42] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:42] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:42] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:42] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:42] [CLEANUP] ========================================
[18:42:42] [CLEANUP] Cleaning up all agent connections and views
[18:42:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:42] [CLEANUP] Stopped and removed 0 video connections
[18:42:42] [CLEANUP] Removed 0 video views
[18:42:42] [CLEANUP] Removed 0 feed scroll views
[18:42:42] [CLEANUP] Removed 0 status labels
[18:42:42] [CLEANUP] Reset agent query state
[18:42:42] [CLEANUP] Updated page indicator
[18:42:42] [CLEANUP] Rebuilt video layout
[18:42:42] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:42] [CLEANUP] ========================================
[18:42:42] [SERVER] Starting reconnect polling (5s interval)
[18:42:42] [CLEANUP] ========================================
[18:42:42] [CLEANUP] Cleaning up all agent connections and views
[18:42:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:42] [CLEANUP] Stopped and removed 0 video connections
[18:42:42] [CLEANUP] Removed 0 video views
[18:42:42] [CLEANUP] Removed 0 feed scroll views
[18:42:42] [CLEANUP] Removed 0 status labels
[18:42:42] [CLEANUP] Reset agent query state
[18:42:42] [CLEANUP] Updated page indicator
[18:42:42] [CLEANUP] Rebuilt video layout
[18:42:42] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:42] [CLEANUP] ========================================
[18:42:42] [SERVER] Starting reconnect polling (5s interval)
[18:42:42] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[18:42:42] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[18:42:43] [LIFECYCLE] App resigning active - cleared crash flag
[18:42:43] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:43] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:42:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:42:44] HELLO → sent (cached token, role=query)
[18:42:44] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:42:44] [WS] Query connection failed - cleaning up all agent connections and views
[18:42:44] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:42:44] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:42:44] [CLEANUP] ========================================
[18:42:44] [CLEANUP] Cleaning up all agent connections and views
[18:42:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:44] [CLEANUP] Stopped and removed 0 video connections
[18:42:44] [CLEANUP] Removed 0 video views
[18:42:44] [CLEANUP] Removed 0 feed scroll views
[18:42:44] [CLEANUP] Removed 0 status labels
[18:42:44] [CLEANUP] Reset agent query state
[18:42:44] [CLEANUP] Updated page indicator
[18:42:44] [CLEANUP] Rebuilt video layout
[18:42:44] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:44] [CLEANUP] ========================================
[18:42:44] [SERVER] Starting reconnect polling (5s interval)
[18:42:44] [CLEANUP] ========================================
[18:42:44] [CLEANUP] Cleaning up all agent connections and views
[18:42:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:42:44] [CLEANUP] Stopped and removed 0 video connections
[18:42:44] [CLEANUP] Removed 0 video views
[18:42:44] [CLEANUP] Removed 0 feed scroll views
[18:42:44] [CLEANUP] Removed 0 status labels
[18:42:44] [CLEANUP] Reset agent query state
[18:42:44] [CLEANUP] Updated page indicator
[18:42:44] [CLEANUP] Rebuilt video layout
[18:42:44] [CLEANUP] ✅ All agent connections and views cleaned up
[18:42:44] [CLEANUP] ========================================
[18:42:44] [SERVER] Starting reconnect polling (5s interval)
[18:42:44] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:42:44] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:42:44] [SECURITY] Saved background timestamp
[18:42:44] [LIFECYCLE] App entering background - cleared crash flag
[18:42:44] [CLIENT_SIG] Disconnecting
[18:42:44] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:42:44] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:42:44] [PUSH_TRACE] 💤 BACKGROUND: memory has 102 messages, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:42:44] [LIFECYCLE] Background snapshot: count=102, maxId=23838
[18:42:44] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:42:44] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:42:44] In cleanupPeer
[18:42:44] In cleanupPeer
[18:42:44] [LIFECYCLE] WebRTC audio disabled
[18:42:44] [LIFECYCLE] AVAudioSession deactivated
[18:42:44] [LIFECYCLE] All connections stopped
[18:42:44] [CLIENT_SIG] WebSocket closed with code 1001
[18:42:44] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:42:44] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:42:44] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:42:44] [SERVER] Stopped reconnect polling
[18:42:44] [WS] URLSession invalidated successfully
[18:42:44] Will request stop of video 0
[18:42:44] Will request stop of video 0
[18:42:44] [PIP] Removing 0 tracks from PiP for connection 0
[18:42:44] [PIP] ✅ All tracks removed for connection 0
[18:42:44] [PIP] Removing 0 tracks from PiP for connection 0
[18:42:44] [PIP] ✅ All tracks removed for connection 0
[18:44:07] [SECURITY] Timeout check: elapsed=83.27184510231018s, timeout=300.0s
[18:44:07] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:44:07] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:44:07] [LIFECYCLE] App entering foreground - restoring connections
[18:44:07] [PUSH_TRACE] 🔄 FOREGROUND: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:07] [PUSH_TRACE] 🔄 FOREGROUND: cache has 52 msgs, valid=true, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:07] [UPLOAD_RETRY] No pending uploads to retry
[18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:44:07] [READBY_OPT] No message IDs to fetch - skipping server call
[18:44:07] [LIFECYCLE] WebRTC audio re-enabled
[18:44:07] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:44:07] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:44:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:44:07] [VIEWER] Reconnecting after background - querying agents
[18:44:07] [FOREGROUND] 📶 Network available - retrying 1 pending messages: [-8]
[18:44:07] [RETRY] 🔄 Retrying 1 pending messages...
[18:44:07] [RETRY] ⚠️ Message -8 not found in memory, removing from pending
[18:44:07] [UNSENT_RETRY] Checking for unsent messages... (excluding 1 already-retrying: [-8])
[18:44:07] [PENDING_UPLOAD] Total pending upload messages: 0
[18:44:07] [UNSENT_RETRY] No unsent messages found
[18:44:07] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:07] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:44:07] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data
[18:44:07] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=102>102=false, maxId=23838>23838=false, shouldScroll=false
[18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:44:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:44:07] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[18:44:07] [SECURITY] Within timeout - cleared background flag
[18:44:07] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:44:07] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:07] [PUSH] handlePollEventsNotification userInfo: [:]
[18:44:07] [PUSH] No message_id in userInfo
[18:44:07] [PUSH] No operation_type in userInfo
[18:44:07] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:44:07] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:07] [PUSH_TRACE] 📬 POLL: memory state: count=102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:07] [FAST_REFRESH] Already have 102 messages in memory
[18:44:07] [FAST_REFRESH] maxMemoryId=23838, maxLocalId=23838
[18:44:07] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:44:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:44:07] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:44:07] [READBY_OPT] No message IDs to fetch - skipping server call
[18:44:07] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102
[18:44:07] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838
[18:44:07] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838
[18:44:07] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102
[18:44:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:44:08] [CLIENT_SIG] WebSocket opened
[18:44:08] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:44:08] [CLIENT_SIG] Connected! clientId=xvfr34sHfwrb3bjp
[18:44:08] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=16
[18:44:08] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834]
[18:44:08] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages
[18:44:08] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:08] [RELOAD_TAB] 📊 Building chatRows from 102 messages
[18:44:08] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0
[18:44:08] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:44:08] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:44:08] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:44:08] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:08] HELLO → sent (cached token, role=query)
[18:44:08] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:08] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:08] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:08] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:08] [CLEANUP] ========================================
[18:44:08] [CLEANUP] Cleaning up all agent connections and views
[18:44:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:08] [CLEANUP] Stopped and removed 0 video connections
[18:44:08] [CLEANUP] Removed 0 video views
[18:44:08] [CLEANUP] Removed 0 feed scroll views
[18:44:08] [CLEANUP] Removed 0 status labels
[18:44:08] [CLEANUP] Reset agent query state
[18:44:08] [CLEANUP] Updated page indicator
[18:44:08] [CLEANUP] Rebuilt video layout
[18:44:08] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:08] [CLEANUP] ========================================
[18:44:08] [SERVER] Starting reconnect polling (5s interval)
[18:44:08] [CLEANUP] ========================================
[18:44:08] [CLEANUP] Cleaning up all agent connections and views
[18:44:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:08] [CLEANUP] Stopped and removed 0 video connections
[18:44:08] [CLEANUP] Removed 0 video views
[18:44:08] [CLEANUP] Removed 0 feed scroll views
[18:44:08] [CLEANUP] Removed 0 status labels
[18:44:08] [CLEANUP] Reset agent query state
[18:44:08] [CLEANUP] Updated page indicator
[18:44:08] [CLEANUP] Rebuilt video layout
[18:44:08] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:08] [CLEANUP] ========================================
[18:44:08] [SERVER] Starting reconnect polling (5s interval)
[18:44:08] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23839]
[18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 102 msgs, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23839
[18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 103, first 10 IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:08] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[18:44:08] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=103
[18:44:08] [FAST_REFRESH] Incremental sync complete - 103 messages
[18:44:08] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8
[18:44:08] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=103, first5Ids=[23839, 23838, 23837, 23836, 23835]
[18:44:08] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 103 messages
[18:44:08] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:08] [RELOAD_TAB] 📊 Building chatRows from 103 messages
[18:44:08] [RELOAD_TAB] 📊 Built 105 chatRows, estHeight=60.0
[18:44:08] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23838 → 23839
[18:44:08] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9
[18:44:08] [SCROLL] 💓 alive, visible=97...104, rows=105, estHeight=60.0, heightCalls=20
[18:44:08] [MENU] dismissAnyExistingMenu called
[18:44:08] [MENU] dismissAnyExistingMenu completed
[18:44:09] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:09] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:10] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:10] HELLO → sent (cached token, role=query)
[18:44:10] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:10] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:10] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:10] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:10] [CLEANUP] ========================================
[18:44:10] [CLEANUP] Cleaning up all agent connections and views
[18:44:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:10] [CLEANUP] Stopped and removed 0 video connections
[18:44:10] [CLEANUP] Removed 0 video views
[18:44:10] [CLEANUP] Removed 0 feed scroll views
[18:44:10] [CLEANUP] Removed 0 status labels
[18:44:10] [CLEANUP] Reset agent query state
[18:44:10] [CLEANUP] Updated page indicator
[18:44:10] [CLEANUP] Rebuilt video layout
[18:44:10] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:10] [CLEANUP] ========================================
[18:44:10] [SERVER] Starting reconnect polling (5s interval)
[18:44:10] [CLEANUP] ========================================
[18:44:10] [CLEANUP] Cleaning up all agent connections and views
[18:44:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:10] [CLEANUP] Stopped and removed 0 video connections
[18:44:10] [CLEANUP] Removed 0 video views
[18:44:10] [CLEANUP] Removed 0 feed scroll views
[18:44:10] [CLEANUP] Removed 0 status labels
[18:44:10] [CLEANUP] Reset agent query state
[18:44:10] [CLEANUP] Updated page indicator
[18:44:10] [CLEANUP] Rebuilt video layout
[18:44:10] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:10] [CLEANUP] ========================================
[18:44:10] [SERVER] Starting reconnect polling (5s interval)
[18:44:11] [CLIENT_SIG] Event received: type=3 messageId=23839
[18:44:11] [WS_EVENT] Received event: type=3, messageId=23839
[18:44:11] [WS_EVENT] Read receipt for message 23839 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:44:11] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:11] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:11] [PUSH] Silent push received
[18:44:11] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:44:11 +0000, appState=0, message_id=nil
[18:44:11] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:11] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:44:11 +0000
[18:44:11] [PUSH_EMBED] No embedded message_data in notification
[18:44:11] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[18:44:11] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829], handled=false
[18:44:11] [PUSH] No embedded data, pre-loading messages from server
[18:44:11] [PUSH_PRELOAD] Fetching messages for instant display cache
[18:44:11] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[18:44:11] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[18:44:11] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:11] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829]
[18:44:11] [PRELOAD_CACHE] Preserving 3 push-inserted messages: [23789, 23788, 23787]
[18:44:11] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=3, IDs=[23789, 23788, 23787]
[18:44:11] [PUSH_TRACE] 🔀 mergeMessages: merged.count=53, first 10 IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:11] [PUSH_PRELOAD] ⚡ Pre-cached 53 messages for instant display (preserved 3 from push)
[18:44:11] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[18:44:11] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 103 msgs, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:11] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23839, AnyHashable("session_id"): ILUIWU]
[18:44:11] [PUSH] Parsed message_id: 23839
[18:44:11] [PUSH] Parsed operation_type: 3
[18:44:11] [PUSH] Taking direct action: opType=3, messageId=23839
[18:44:11] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23839
[18:44:11] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:11] HELLO → sent (cached token, role=query)
[18:44:12] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:12] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:12] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:12] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:12] [CLEANUP] ========================================
[18:44:12] [CLEANUP] Cleaning up all agent connections and views
[18:44:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:12] [CLEANUP] Stopped and removed 0 video connections
[18:44:12] [CLEANUP] Removed 0 video views
[18:44:12] [CLEANUP] Removed 0 feed scroll views
[18:44:12] [CLEANUP] Removed 0 status labels
[18:44:12] [CLEANUP] Reset agent query state
[18:44:12] [CLEANUP] Updated page indicator
[18:44:12] [CLEANUP] Rebuilt video layout
[18:44:12] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:12] [CLEANUP] ========================================
[18:44:12] [SERVER] Starting reconnect polling (5s interval)
[18:44:12] [CLEANUP] ========================================
[18:44:12] [CLEANUP] Cleaning up all agent connections and views
[18:44:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:12] [CLEANUP] Stopped and removed 0 video connections
[18:44:12] [CLEANUP] Removed 0 video views
[18:44:12] [CLEANUP] Removed 0 feed scroll views
[18:44:12] [CLEANUP] Removed 0 status labels
[18:44:12] [CLEANUP] Reset agent query state
[18:44:12] [CLEANUP] Updated page indicator
[18:44:12] [CLEANUP] Rebuilt video layout
[18:44:12] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:12] [CLEANUP] ========================================
[18:44:12] [SERVER] Starting reconnect polling (5s interval)
[18:44:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:13] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:13] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:13] HELLO → sent (cached token, role=query)
[18:44:13] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:13] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:13] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:13] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:13] [CLEANUP] ========================================
[18:44:13] [CLEANUP] Cleaning up all agent connections and views
[18:44:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:13] [CLEANUP] Stopped and removed 0 video connections
[18:44:13] [CLEANUP] Removed 0 video views
[18:44:13] [CLEANUP] Removed 0 feed scroll views
[18:44:13] [CLEANUP] Removed 0 status labels
[18:44:13] [CLEANUP] Reset agent query state
[18:44:13] [CLEANUP] Updated page indicator
[18:44:13] [CLEANUP] Rebuilt video layout
[18:44:13] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:13] [CLEANUP] ========================================
[18:44:13] [SERVER] Starting reconnect polling (5s interval)
[18:44:13] [CLEANUP] ========================================
[18:44:13] [CLEANUP] Cleaning up all agent connections and views
[18:44:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:13] [CLEANUP] Stopped and removed 0 video connections
[18:44:13] [CLEANUP] Removed 0 video views
[18:44:13] [CLEANUP] Removed 0 feed scroll views
[18:44:13] [CLEANUP] Removed 0 status labels
[18:44:13] [CLEANUP] Reset agent query state
[18:44:13] [CLEANUP] Updated page indicator
[18:44:13] [CLEANUP] Rebuilt video layout
[18:44:13] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:13] [CLEANUP] ========================================
[18:44:13] [SERVER] Starting reconnect polling (5s interval)
[18:44:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:15] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:15] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:15] HELLO → sent (cached token, role=query)
[18:44:15] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:15] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:15] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:15] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:15] [CLEANUP] ========================================
[18:44:15] [CLEANUP] Cleaning up all agent connections and views
[18:44:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:15] [CLEANUP] Stopped and removed 0 video connections
[18:44:15] [CLEANUP] Removed 0 video views
[18:44:15] [CLEANUP] Removed 0 feed scroll views
[18:44:15] [CLEANUP] Removed 0 status labels
[18:44:15] [CLEANUP] Reset agent query state
[18:44:15] [CLEANUP] Updated page indicator
[18:44:15] [CLEANUP] Rebuilt video layout
[18:44:15] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:15] [CLEANUP] ========================================
[18:44:15] [SERVER] Starting reconnect polling (5s interval)
[18:44:15] [CLEANUP] ========================================
[18:44:15] [CLEANUP] Cleaning up all agent connections and views
[18:44:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:15] [CLEANUP] Stopped and removed 0 video connections
[18:44:15] [CLEANUP] Removed 0 video views
[18:44:15] [CLEANUP] Removed 0 feed scroll views
[18:44:15] [CLEANUP] Removed 0 status labels
[18:44:15] [CLEANUP] Reset agent query state
[18:44:15] [CLEANUP] Updated page indicator
[18:44:15] [CLEANUP] Rebuilt video layout
[18:44:15] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:15] [CLEANUP] ========================================
[18:44:15] [SERVER] Starting reconnect polling (5s interval)
[18:44:17] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:17] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:17] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:17] HELLO → sent (cached token, role=query)
[18:44:17] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:17] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:17] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:17] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:17] [CLEANUP] ========================================
[18:44:17] [CLEANUP] Cleaning up all agent connections and views
[18:44:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:17] [CLEANUP] Stopped and removed 0 video connections
[18:44:17] [CLEANUP] Removed 0 video views
[18:44:17] [CLEANUP] Removed 0 feed scroll views
[18:44:17] [CLEANUP] Removed 0 status labels
[18:44:17] [CLEANUP] Reset agent query state
[18:44:17] [CLEANUP] Updated page indicator
[18:44:17] [CLEANUP] Rebuilt video layout
[18:44:17] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:17] [CLEANUP] ========================================
[18:44:17] [SERVER] Starting reconnect polling (5s interval)
[18:44:17] [CLEANUP] ========================================
[18:44:17] [CLEANUP] Cleaning up all agent connections and views
[18:44:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:17] [CLEANUP] Stopped and removed 0 video connections
[18:44:17] [CLEANUP] Removed 0 video views
[18:44:17] [CLEANUP] Removed 0 feed scroll views
[18:44:17] [CLEANUP] Removed 0 status labels
[18:44:17] [CLEANUP] Reset agent query state
[18:44:17] [CLEANUP] Updated page indicator
[18:44:17] [CLEANUP] Rebuilt video layout
[18:44:17] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:17] [CLEANUP] ========================================
[18:44:17] [SERVER] Starting reconnect polling (5s interval)
[18:44:19] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:19] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:19] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:19] HELLO → sent (cached token, role=query)
[18:44:19] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:19] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:19] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:19] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:19] [CLEANUP] ========================================
[18:44:19] [CLEANUP] Cleaning up all agent connections and views
[18:44:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:19] [CLEANUP] Stopped and removed 0 video connections
[18:44:19] [CLEANUP] Removed 0 video views
[18:44:19] [CLEANUP] Removed 0 feed scroll views
[18:44:19] [CLEANUP] Removed 0 status labels
[18:44:19] [CLEANUP] Reset agent query state
[18:44:19] [CLEANUP] Updated page indicator
[18:44:19] [CLEANUP] Rebuilt video layout
[18:44:19] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:19] [CLEANUP] ========================================
[18:44:19] [SERVER] Starting reconnect polling (5s interval)
[18:44:19] [CLEANUP] ========================================
[18:44:19] [CLEANUP] Cleaning up all agent connections and views
[18:44:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:19] [CLEANUP] Stopped and removed 0 video connections
[18:44:19] [CLEANUP] Removed 0 video views
[18:44:19] [CLEANUP] Removed 0 feed scroll views
[18:44:19] [CLEANUP] Removed 0 status labels
[18:44:19] [CLEANUP] Reset agent query state
[18:44:19] [CLEANUP] Updated page indicator
[18:44:19] [CLEANUP] Rebuilt video layout
[18:44:19] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:19] [CLEANUP] ========================================
[18:44:19] [SERVER] Starting reconnect polling (5s interval)
[18:44:21] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:21] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:21] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:21] HELLO → sent (cached token, role=query)
[18:44:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:21] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:21] [CLEANUP] ========================================
[18:44:21] [CLEANUP] Cleaning up all agent connections and views
[18:44:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:21] [CLEANUP] Stopped and removed 0 video connections
[18:44:21] [CLEANUP] Removed 0 video views
[18:44:21] [CLEANUP] Removed 0 feed scroll views
[18:44:21] [CLEANUP] Removed 0 status labels
[18:44:21] [CLEANUP] Reset agent query state
[18:44:21] [CLEANUP] Updated page indicator
[18:44:21] [CLEANUP] Rebuilt video layout
[18:44:21] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:21] [CLEANUP] ========================================
[18:44:21] [SERVER] Starting reconnect polling (5s interval)
[18:44:21] [CLEANUP] ========================================
[18:44:21] [CLEANUP] Cleaning up all agent connections and views
[18:44:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:21] [CLEANUP] Stopped and removed 0 video connections
[18:44:21] [CLEANUP] Removed 0 video views
[18:44:21] [CLEANUP] Removed 0 feed scroll views
[18:44:21] [CLEANUP] Removed 0 status labels
[18:44:21] [CLEANUP] Reset agent query state
[18:44:21] [CLEANUP] Updated page indicator
[18:44:21] [CLEANUP] Rebuilt video layout
[18:44:21] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:21] [CLEANUP] ========================================
[18:44:21] [SERVER] Starting reconnect polling (5s interval)
[18:44:23] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:23] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:23] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:23] HELLO → sent (cached token, role=query)
[18:44:23] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:23] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:23] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:23] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:23] [CLEANUP] ========================================
[18:44:23] [CLEANUP] Cleaning up all agent connections and views
[18:44:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:23] [CLEANUP] Stopped and removed 0 video connections
[18:44:23] [CLEANUP] Removed 0 video views
[18:44:23] [CLEANUP] Removed 0 feed scroll views
[18:44:23] [CLEANUP] Removed 0 status labels
[18:44:23] [CLEANUP] Reset agent query state
[18:44:23] [CLEANUP] Updated page indicator
[18:44:23] [CLEANUP] Rebuilt video layout
[18:44:23] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:23] [CLEANUP] ========================================
[18:44:23] [SERVER] Starting reconnect polling (5s interval)
[18:44:23] [CLEANUP] ========================================
[18:44:23] [CLEANUP] Cleaning up all agent connections and views
[18:44:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:23] [CLEANUP] Stopped and removed 0 video connections
[18:44:23] [CLEANUP] Removed 0 video views
[18:44:23] [CLEANUP] Removed 0 feed scroll views
[18:44:23] [CLEANUP] Removed 0 status labels
[18:44:23] [CLEANUP] Reset agent query state
[18:44:23] [CLEANUP] Updated page indicator
[18:44:23] [CLEANUP] Rebuilt video layout
[18:44:23] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:23] [CLEANUP] ========================================
[18:44:23] [SERVER] Starting reconnect polling (5s interval)
[18:44:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:24] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:25] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:25] HELLO → sent (cached token, role=query)
[18:44:25] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:25] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:25] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:25] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:25] [CLEANUP] ========================================
[18:44:25] [CLEANUP] Cleaning up all agent connections and views
[18:44:25] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:25] [CLEANUP] Stopped and removed 0 video connections
[18:44:25] [CLEANUP] Removed 0 video views
[18:44:25] [CLEANUP] Removed 0 feed scroll views
[18:44:25] [CLEANUP] Removed 0 status labels
[18:44:25] [CLEANUP] Reset agent query state
[18:44:25] [CLEANUP] Updated page indicator
[18:44:25] [CLEANUP] Rebuilt video layout
[18:44:25] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:25] [CLEANUP] ========================================
[18:44:25] [SERVER] Starting reconnect polling (5s interval)
[18:44:25] [CLEANUP] ========================================
[18:44:25] [CLEANUP] Cleaning up all agent connections and views
[18:44:25] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:25] [CLEANUP] Stopped and removed 0 video connections
[18:44:25] [CLEANUP] Removed 0 video views
[18:44:25] [CLEANUP] Removed 0 feed scroll views
[18:44:25] [CLEANUP] Removed 0 status labels
[18:44:25] [CLEANUP] Reset agent query state
[18:44:25] [CLEANUP] Updated page indicator
[18:44:25] [CLEANUP] Rebuilt video layout
[18:44:25] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:25] [CLEANUP] ========================================
[18:44:25] [SERVER] Starting reconnect polling (5s interval)
[18:44:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:26] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:27] HELLO → sent (cached token, role=query)
[18:44:27] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:27] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:27] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:27] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:27] [CLEANUP] ========================================
[18:44:27] [CLEANUP] Cleaning up all agent connections and views
[18:44:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:27] [CLEANUP] Stopped and removed 0 video connections
[18:44:27] [CLEANUP] Removed 0 video views
[18:44:27] [CLEANUP] Removed 0 feed scroll views
[18:44:27] [CLEANUP] Removed 0 status labels
[18:44:27] [CLEANUP] Reset agent query state
[18:44:27] [CLEANUP] Updated page indicator
[18:44:27] [CLEANUP] Rebuilt video layout
[18:44:27] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:27] [CLEANUP] ========================================
[18:44:27] [SERVER] Starting reconnect polling (5s interval)
[18:44:27] [CLEANUP] ========================================
[18:44:27] [CLEANUP] Cleaning up all agent connections and views
[18:44:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:27] [CLEANUP] Stopped and removed 0 video connections
[18:44:27] [CLEANUP] Removed 0 video views
[18:44:27] [CLEANUP] Removed 0 feed scroll views
[18:44:27] [CLEANUP] Removed 0 status labels
[18:44:27] [CLEANUP] Reset agent query state
[18:44:27] [CLEANUP] Updated page indicator
[18:44:27] [CLEANUP] Rebuilt video layout
[18:44:27] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:27] [CLEANUP] ========================================
[18:44:27] [SERVER] Starting reconnect polling (5s interval)
[18:44:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:28] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:29] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:29] HELLO → sent (cached token, role=query)
[18:44:29] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:29] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:29] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:29] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:29] [CLEANUP] ========================================
[18:44:29] [CLEANUP] Cleaning up all agent connections and views
[18:44:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:29] [CLEANUP] Stopped and removed 0 video connections
[18:44:29] [CLEANUP] Removed 0 video views
[18:44:29] [CLEANUP] Removed 0 feed scroll views
[18:44:29] [CLEANUP] Removed 0 status labels
[18:44:29] [CLEANUP] Reset agent query state
[18:44:29] [CLEANUP] Updated page indicator
[18:44:29] [CLEANUP] Rebuilt video layout
[18:44:29] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:29] [CLEANUP] ========================================
[18:44:29] [SERVER] Starting reconnect polling (5s interval)
[18:44:29] [CLEANUP] ========================================
[18:44:29] [CLEANUP] Cleaning up all agent connections and views
[18:44:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:29] [CLEANUP] Stopped and removed 0 video connections
[18:44:29] [CLEANUP] Removed 0 video views
[18:44:29] [CLEANUP] Removed 0 feed scroll views
[18:44:29] [CLEANUP] Removed 0 status labels
[18:44:29] [CLEANUP] Reset agent query state
[18:44:29] [CLEANUP] Updated page indicator
[18:44:29] [CLEANUP] Rebuilt video layout
[18:44:29] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:29] [CLEANUP] ========================================
[18:44:29] [SERVER] Starting reconnect polling (5s interval)
[18:44:29] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[18:44:29] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=103, isReloading=false
[18:44:29] [SEND_MESSAGE] ✅ Added optimistic message id=-9 to arrays, newMsgCount=104
[18:44:29] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:44:29] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[-9, 23839, 23838, 23837, 23836]
[18:44:29] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:44:29] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:29] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:44:29] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:44:29] [SCROLL] 💓 alive, visible=98...104, rows=106, estHeight=60.0, heightCalls=8
[18:44:29] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[18:44:29] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[18:44:29] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[18:44:30] [LIFECYCLE] App resigning active - cleared crash flag
[18:44:30] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:30] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:30] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:44:30] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:44:30] [SECURITY] Saved background timestamp
[18:44:30] [LIFECYCLE] App entering background - cleared crash flag
[18:44:30] [CLIENT_SIG] Disconnecting
[18:44:30] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:44:30] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:44:30] [PUSH_TRACE] 💤 BACKGROUND: memory has 104 messages, first 10 IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:30] [LIFECYCLE] Background snapshot: count=104, maxId=23839
[18:44:30] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[18:44:30] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:44:30] In cleanupPeer
[18:44:30] In cleanupPeer
[18:44:30] [LIFECYCLE] WebRTC audio disabled
[18:44:30] [LIFECYCLE] AVAudioSession deactivated
[18:44:30] [LIFECYCLE] All connections stopped
[18:44:31] [CLIENT_SIG] WebSocket closed with code 1001
[18:44:31] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:44:31] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:44:31] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:44:31] [SERVER] Stopped reconnect polling
[18:44:31] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[18:44:31] [WS] Query connection error - cleaning up all agent connections and views
[18:44:31] Will request stop of video 0
[18:44:31] [WS] Connection failed: cancelled
[18:44:31] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:31] Will request stop of video 0
[18:44:31] [CLEANUP] ========================================
[18:44:31] [CLEANUP] Cleaning up all agent connections and views
[18:44:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:31] [CLEANUP] Stopped and removed 0 video connections
[18:44:31] [CLEANUP] Removed 0 video views
[18:44:31] [CLEANUP] Removed 0 feed scroll views
[18:44:31] [CLEANUP] Removed 0 status labels
[18:44:31] [CLEANUP] Reset agent query state
[18:44:31] [CLEANUP] Updated page indicator
[18:44:31] [CLEANUP] Rebuilt video layout
[18:44:31] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:31] [CLEANUP] ========================================
[18:44:31] [SERVER] Skipping reconnect polling - app is in background
[18:44:31] [WS] URLSession invalidated successfully
[18:44:31] [PIP] Removing 0 tracks from PiP for connection 0
[18:44:31] [PIP] ✅ All tracks removed for connection 0
[18:44:31] [CLEANUP] ========================================
[18:44:31] [CLEANUP] Cleaning up all agent connections and views
[18:44:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:31] [CLEANUP] Stopped and removed 0 video connections
[18:44:31] [CLEANUP] Removed 0 video views
[18:44:31] [CLEANUP] Removed 0 feed scroll views
[18:44:31] [CLEANUP] Removed 0 status labels
[18:44:31] [CLEANUP] Reset agent query state
[18:44:31] [CLEANUP] Updated page indicator
[18:44:31] [CLEANUP] Rebuilt video layout
[18:44:31] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:31] [CLEANUP] ========================================
[18:44:31] [SERVER] Skipping reconnect polling - app is in background
[18:44:31] [PIP] Removing 0 tracks from PiP for connection 0
[18:44:31] [PIP] ✅ All tracks removed for connection 0
[18:44:43] [SECURITY] Timeout check: elapsed=12.400290966033936s, timeout=300.0s
[18:44:43] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:44:43] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:44:43] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x12ed3a9a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <48E43A85-EA89-4501-B89A-45AC44D16A8C>.<125>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <48E43A85-EA89-4501-B89A-45AC44D16A8C>.<125>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
[18:44:43] [LIFECYCLE] App entering foreground - restoring connections
[18:44:43] [PUSH_TRACE] 🔄 FOREGROUND: memory has 104 msgs, IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:43] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:43] [UPLOAD_RETRY] No pending uploads to retry
[18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:43] [READBY_OPT] No message IDs to fetch - skipping server call
[18:44:43] [LIFECYCLE] WebRTC audio re-enabled
[18:44:43] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:44:43] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:44:43] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:44:43] [VIEWER] Reconnecting after background - querying agents
[18:44:43] [UNSENT_RETRY] Checking for unsent messages...
[18:44:43] [PENDING_UPLOAD] Found pending message: id=-9, file=, uploadStatus=0, sendStatus=1
[18:44:43] [PENDING_UPLOAD] Total pending upload messages: 1
[18:44:43] [UNSENT_RETRY] No unsent messages found
[18:44:43] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:43] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:43] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:44:43] [CHAT] Network error detected - queuing for retry
[18:44:43] [SEND_STATUS] 💾 Updating DB: messageId=-9, status=3 (pending_retry)
[18:44:43] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-9
[18:44:43] [SEND_STATUS] ⏳ Message -9 marked as PENDING RETRY (waiting for network)
[18:44:43] [SCROLL] 💓 alive, visible=99...105, rows=106, estHeight=60.0, heightCalls=20
[18:44:43] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data
[18:44:43] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=104>104=false, maxId=23839>23839=false, shouldScroll=false
[18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:44:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:44:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[-9, 23839, 23838, 23837, 23836]
[18:44:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:44:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:43] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:44:43] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:44:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:44:43] [CLIENT_SIG] WebSocket opened
[18:44:43] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:44:43] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[18:44:43] [SECURITY] Within timeout - cleared background flag
[18:44:43] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:44:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:43] [PUSH] handlePollEventsNotification userInfo: [:]
[18:44:43] [PUSH] No message_id in userInfo
[18:44:43] [PUSH] No operation_type in userInfo
[18:44:43] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:44:43] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:43] [PUSH_TRACE] 📬 POLL: memory state: count=104, first 10 IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:43] [FAST_REFRESH] Already have 104 messages in memory
[18:44:43] [FAST_REFRESH] maxMemoryId=23839, maxLocalId=23839
[18:44:43] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:43] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:44:43] [READBY_OPT] No message IDs to fetch - skipping server call
[18:44:43] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=104
[18:44:43] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23839, maxMemoryId=23839
[18:44:43] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23839
[18:44:43] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:44:43] [CLIENT_SIG] Connected! clientId=plxI985IkI0K1a5c
[18:44:43] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:44:43] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:44:43] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:43] HELLO → sent (cached token, role=query)
[18:44:43] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:43] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:43] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:43] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:43] [CLEANUP] ========================================
[18:44:43] [CLEANUP] Cleaning up all agent connections and views
[18:44:43] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:43] [CLEANUP] Stopped and removed 0 video connections
[18:44:43] [CLEANUP] Removed 0 video views
[18:44:43] [CLEANUP] Removed 0 feed scroll views
[18:44:43] [CLEANUP] Removed 0 status labels
[18:44:43] [CLEANUP] Reset agent query state
[18:44:43] [CLEANUP] Updated page indicator
[18:44:43] [CLEANUP] Rebuilt video layout
[18:44:43] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:43] [CLEANUP] ========================================
[18:44:43] [SERVER] Starting reconnect polling (5s interval)
[18:44:43] [CLEANUP] ========================================
[18:44:43] [CLEANUP] Cleaning up all agent connections and views
[18:44:43] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:43] [CLEANUP] Stopped and removed 0 video connections
[18:44:43] [CLEANUP] Removed 0 video views
[18:44:43] [CLEANUP] Removed 0 feed scroll views
[18:44:43] [CLEANUP] Removed 0 status labels
[18:44:43] [CLEANUP] Reset agent query state
[18:44:43] [CLEANUP] Updated page indicator
[18:44:43] [CLEANUP] Rebuilt video layout
[18:44:43] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:43] [CLEANUP] ========================================
[18:44:43] [SERVER] Starting reconnect polling (5s interval)
[18:44:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8
[18:44:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[-9, 23839, 23838, 23837, 23836]
[18:44:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:44:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:43] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:44:43] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:44:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:44:44] [INCREMENTAL_SYNC] ✅ Found 1 new messages
[18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23840]
[18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 104 msgs, first 10 IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23840
[18:44:44] [INCREMENTAL_SYNC] Replaced optimistic message (id=-9) with server message (id=23840)
[18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 104, first 10 IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:44] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1
[18:44:44] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:44] [FAST_REFRESH] Incremental sync complete - 104 messages
[18:44:44] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8
[18:44:44] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836]
[18:44:44] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:44:44] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:44] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:44:44] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:44:44] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:44:44] [PASTE] paste invoked; hasImages=false, hasStrings=true
[18:44:45] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:45] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:45] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:45] HELLO → sent (cached token, role=query)
[18:44:45] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:45] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:45] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:45] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:45] [CLEANUP] ========================================
[18:44:45] [CLEANUP] Cleaning up all agent connections and views
[18:44:45] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:45] [CLEANUP] Stopped and removed 0 video connections
[18:44:45] [CLEANUP] Removed 0 video views
[18:44:45] [CLEANUP] Removed 0 feed scroll views
[18:44:45] [CLEANUP] Removed 0 status labels
[18:44:45] [CLEANUP] Reset agent query state
[18:44:45] [CLEANUP] Updated page indicator
[18:44:45] [CLEANUP] Rebuilt video layout
[18:44:45] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:45] [CLEANUP] ========================================
[18:44:45] [SERVER] Starting reconnect polling (5s interval)
[18:44:45] [CLEANUP] ========================================
[18:44:45] [CLEANUP] Cleaning up all agent connections and views
[18:44:45] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:45] [CLEANUP] Stopped and removed 0 video connections
[18:44:45] [CLEANUP] Removed 0 video views
[18:44:45] [CLEANUP] Removed 0 feed scroll views
[18:44:45] [CLEANUP] Removed 0 status labels
[18:44:45] [CLEANUP] Reset agent query state
[18:44:45] [CLEANUP] Updated page indicator
[18:44:45] [CLEANUP] Rebuilt video layout
[18:44:45] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:45] [CLEANUP] ========================================
[18:44:45] [SERVER] Starting reconnect polling (5s interval)
[18:44:46] [LIFECYCLE] App resigning active - cleared crash flag
[18:44:47] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:47] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:47] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:47] HELLO → sent (cached token, role=query)
[18:44:47] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:47] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:47] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:47] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:47] [CLEANUP] ========================================
[18:44:47] [CLEANUP] Cleaning up all agent connections and views
[18:44:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:47] [CLEANUP] Stopped and removed 0 video connections
[18:44:47] [CLEANUP] Removed 0 video views
[18:44:47] [CLEANUP] Removed 0 feed scroll views
[18:44:47] [CLEANUP] Removed 0 status labels
[18:44:47] [CLEANUP] Reset agent query state
[18:44:47] [CLEANUP] Updated page indicator
[18:44:47] [CLEANUP] Rebuilt video layout
[18:44:47] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:47] [CLEANUP] ========================================
[18:44:47] [SERVER] Starting reconnect polling (5s interval)
[18:44:47] [CLEANUP] ========================================
[18:44:47] [CLEANUP] Cleaning up all agent connections and views
[18:44:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:47] [CLEANUP] Stopped and removed 0 video connections
[18:44:47] [CLEANUP] Removed 0 video views
[18:44:47] [CLEANUP] Removed 0 feed scroll views
[18:44:47] [CLEANUP] Removed 0 status labels
[18:44:47] [CLEANUP] Reset agent query state
[18:44:47] [CLEANUP] Updated page indicator
[18:44:47] [CLEANUP] Rebuilt video layout
[18:44:47] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:47] [CLEANUP] ========================================
[18:44:47] [SERVER] Starting reconnect polling (5s interval)
[18:44:48] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:44:48] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:44:48] [SECURITY] Saved background timestamp
[18:44:48] [LIFECYCLE] App entering background - cleared crash flag
[18:44:48] [CLIENT_SIG] Disconnecting
[18:44:48] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:44:48] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:44:48] [PUSH_TRACE] 💤 BACKGROUND: memory has 104 messages, first 10 IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:48] [LIFECYCLE] Background snapshot: count=104, maxId=23840
[18:44:48] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:44:48] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:44:48] In cleanupPeer
[18:44:48] In cleanupPeer
[18:44:48] [LIFECYCLE] WebRTC audio disabled
[18:44:48] [LIFECYCLE] AVAudioSession deactivated
[18:44:48] [LIFECYCLE] All connections stopped
[18:44:48] [CLIENT_SIG] WebSocket closed with code 1001
[18:44:48] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:44:48] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:44:48] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:44:48] [SERVER] Stopped reconnect polling
[18:44:48] [WS] URLSession invalidated successfully
[18:44:48] Will request stop of video 0
[18:44:48] Will request stop of video 0
[18:44:48] [PIP] Removing 0 tracks from PiP for connection 0
[18:44:48] [PIP] ✅ All tracks removed for connection 0
[18:44:48] [PIP] Removing 0 tracks from PiP for connection 0
[18:44:48] [PIP] ✅ All tracks removed for connection 0
[18:44:52] [SECURITY] Timeout check: elapsed=4.376995086669922s, timeout=300.0s
[18:44:52] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:44:52] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:44:52] [LIFECYCLE] App entering foreground - restoring connections
[18:44:52] [PUSH_TRACE] 🔄 FOREGROUND: memory has 104 msgs, IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:52] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:52] [UPLOAD_RETRY] No pending uploads to retry
[18:44:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:52] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[18:44:52] [LIFECYCLE] WebRTC audio re-enabled
[18:44:52] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:44:52] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:44:52] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:44:52] [VIEWER] Reconnecting after background - querying agents
[18:44:52] [FOREGROUND] 📶 Network available - retrying 1 pending messages: [-9]
[18:44:52] [RETRY] 🔄 Retrying 1 pending messages...
[18:44:52] [RETRY] ⚠️ Message -9 not found in memory, removing from pending
[18:44:52] [UNSENT_RETRY] Checking for unsent messages... (excluding 1 already-retrying: [-9])
[18:44:52] [PENDING_UPLOAD] Total pending upload messages: 0
[18:44:52] [UNSENT_RETRY] No unsent messages found
[18:44:52] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:52] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:52] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:44:52] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=16
[18:44:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836]
[18:44:52] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:44:52] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:52] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:44:52] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:44:52] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:44:52] [CLIENT_SIG] WebSocket opened
[18:44:52] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:44:52] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[18:44:52] [SECURITY] Within timeout - cleared background flag
[18:44:52] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:44:52] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:52] [PUSH] handlePollEventsNotification userInfo: [:]
[18:44:52] [PUSH] No message_id in userInfo
[18:44:52] [PUSH] No operation_type in userInfo
[18:44:52] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:44:52] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:44:52] [PUSH_TRACE] 📬 POLL: memory state: count=104, first 10 IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:52] [FAST_REFRESH] Already have 104 messages in memory
[18:44:52] [FAST_REFRESH] maxMemoryId=23840, maxLocalId=23840
[18:44:52] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:44:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:52] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:44:52] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[18:44:52] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=104
[18:44:52] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23840, maxMemoryId=23840
[18:44:52] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23840
[18:44:53] [CLIENT_SIG] Connected! clientId=aNOfcRMGSP1oLAI-
[18:44:53] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:44:53] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:44:53] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:53] HELLO → sent (cached token, role=query)
[18:44:53] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[18:44:53] [FOREGROUND] Enriched 0/1 unsettled messages with readBy data
[18:44:53] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=104>104=false, maxId=23840>23840=false, shouldScroll=false
[18:44:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:53] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:44:53] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:53] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:53] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:53] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:53] [CLEANUP] ========================================
[18:44:53] [CLEANUP] Cleaning up all agent connections and views
[18:44:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:53] [CLEANUP] Stopped and removed 0 video connections
[18:44:53] [CLEANUP] Removed 0 video views
[18:44:53] [CLEANUP] Removed 0 feed scroll views
[18:44:53] [CLEANUP] Removed 0 status labels
[18:44:53] [CLEANUP] Reset agent query state
[18:44:53] [CLEANUP] Updated page indicator
[18:44:53] [CLEANUP] Rebuilt video layout
[18:44:53] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:53] [CLEANUP] ========================================
[18:44:53] [SERVER] Starting reconnect polling (5s interval)
[18:44:53] [CLEANUP] ========================================
[18:44:53] [CLEANUP] Cleaning up all agent connections and views
[18:44:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:53] [CLEANUP] Stopped and removed 0 video connections
[18:44:53] [CLEANUP] Removed 0 video views
[18:44:53] [CLEANUP] Removed 0 feed scroll views
[18:44:53] [CLEANUP] Removed 0 status labels
[18:44:53] [CLEANUP] Reset agent query state
[18:44:53] [CLEANUP] Updated page indicator
[18:44:53] [CLEANUP] Rebuilt video layout
[18:44:53] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:53] [CLEANUP] ========================================
[18:44:53] [SERVER] Starting reconnect polling (5s interval)
[18:44:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8
[18:44:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836]
[18:44:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:44:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:53] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:44:53] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:44:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:44:53] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[18:44:53] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data
[18:44:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104
[18:44:53] [INCREMENTAL_SYNC] ✅ No new messages
[18:44:53] [FAST_REFRESH] Incremental sync complete - 104 messages
[18:44:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8
[18:44:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836]
[18:44:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages
[18:44:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831]
[18:44:53] [RELOAD_TAB] 📊 Building chatRows from 104 messages
[18:44:53] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0
[18:44:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8
[18:44:54] [PASTE] paste invoked; hasImages=true, hasStrings=false
[18:44:54] [PASTE] onImagePaste handler fired
[18:44:54] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=false, returning=false, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[18:44:54] [PASTE] presenting composer from pasted image: paste_1772819094.jpg
[18:44:54] [SCROLL] 💓 alive, visible=94...105, rows=106, estHeight=60.0, heightCalls=8
[18:44:54] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:54] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:54] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=false, returning=false, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[18:44:54] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=false, returning=false, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[18:44:54] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=false, returning=false, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[18:44:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:54] HELLO → sent (cached token, role=query)
[18:44:54] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:54] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:54] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:54] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:54] [CLEANUP] ========================================
[18:44:54] [CLEANUP] Cleaning up all agent connections and views
[18:44:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:54] [CLEANUP] Stopped and removed 0 video connections
[18:44:54] [CLEANUP] Removed 0 video views
[18:44:54] [CLEANUP] Removed 0 feed scroll views
[18:44:54] [CLEANUP] Removed 0 status labels
[18:44:54] [CLEANUP] Reset agent query state
[18:44:54] [CLEANUP] Updated page indicator
[18:44:54] [CLEANUP] Rebuilt video layout
[18:44:54] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:54] [CLEANUP] ========================================
[18:44:55] [SERVER] Starting reconnect polling (5s interval)
[18:44:55] [CLEANUP] ========================================
[18:44:55] [CLEANUP] Cleaning up all agent connections and views
[18:44:55] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:55] [CLEANUP] Stopped and removed 0 video connections
[18:44:55] [CLEANUP] Removed 0 video views
[18:44:55] [CLEANUP] Removed 0 feed scroll views
[18:44:55] [CLEANUP] Removed 0 status labels
[18:44:55] [CLEANUP] Reset agent query state
[18:44:55] [CLEANUP] Updated page indicator
[18:44:55] [CLEANUP] Rebuilt video layout
[18:44:55] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:55] [CLEANUP] ========================================
[18:44:55] [SERVER] Starting reconnect polling (5s interval)
[18:44:55] Chosen timer = 0
[18:44:55] [MEDIA_SEND] ========== NEW UPLOAD ==========
[18:44:55] [MEDIA_SEND] onSend called
[18:44:55] [MEDIA_SEND] Source URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/paste_1772819094.jpg
[18:44:55] [MEDIA_SEND] Source file exists: true
[18:44:55] [MEDIA_SEND] Original filename: paste_1772819094.jpg
[18:44:55] [MEDIA_SEND] Random filename: edc609c733fd329e.jpg
[18:44:55] [MEDIA_SEND] File extension: jpg
[18:44:55] [MEDIA_SEND] Local media path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg
[18:44:55] [MEDIA_SEND] Local thumbnail path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg
[18:44:55] [MEDIA_SEND] Source file size: 793022 bytes (0.76 MB)
[18:44:55] [MEDIA_SEND] Copying file (<100MB)
[18:44:55] [MEDIA_SEND] File copied successfully
[18:44:55] [MEDIA_SEND] Destination file exists: true
[18:44:55] [MEDIA_SEND] Destination file size: 793022 bytes
[18:44:55] [MEDIA_SEND] Creating thumbnail...
[18:44:55] [MEDIA_SEND] Thumbnail created in 0.02s
[18:44:55] [MEDIA_SEND] Thumbnail dimensions: (320.0, 400.0)
[18:44:55] [MEDIA_SEND] Thumbnail exists: true
[18:44:55] [MEDIA_SEND] Thumbnail file size: 38689 bytes
[18:44:55] [MEDIA_SEND] Sending message to server...
[18:44:55] [MEDIA_SEND] Caption: ''
[18:44:55] [MEDIA_SEND] Timer: 0
[18:44:55] [MEDIA_SEND] Filename: edc609c733fd329e.jpg
[18:44:55] [MEDIA_FLOW] ⚠️ Message sent BEFORE upload starts - if app dies now, file won't be uploaded!
[18:44:55] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=104, isReloading=false
[18:44:55] [MEDIA_SEND] 📤 Creating media message: id=-10, file=edc609c733fd329e.jpg, isGiphy=false, upload_status=1 (pending)
[18:44:55] [MEDIA_SEND] 💾 Inserted to DB with upload_status=1
[18:44:55] [SEND_MESSAGE] ✅ Added optimistic message id=-10 to arrays, newMsgCount=105
[18:44:55] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=10
[18:44:55] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[-10, 23840, 23839, 23838, 23837]
[18:44:55] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:44:55] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-10, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:44:55] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:44:55] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:44:55] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=3
[18:44:55] [SCROLL] 💓 alive, visible=104...105, rows=107, estHeight=60.0, heightCalls=6
[18:44:55] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[18:44:55] [SCROLL_BTN] Showing button - 778pt from bottom > half 22pt
[18:44:55] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[18:44:55] [MEDIA_SEND] sendMessage API call completed
[18:44:55] [MEDIA_SEND] Starting THUMBNAIL upload: t_edc609c733fd329e.jpg
[18:44:55] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[18:44:55] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg
[18:44:55] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg
[18:44:55] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[18:44:55] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB
[18:44:55] [UPLOAD_QUEUE] Enqueued upload id=967 for t_edc609c733fd329e.jpg
[18:44:55] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[18:44:55] [UPLOAD_DEBUG] Item ID: 967
[18:44:55] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg
[18:44:55] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg
[18:44:55] [UPLOAD_DEBUG] Session ID: ILUIWU
[18:44:55] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[18:44:55] [UPLOAD_DEBUG] Retry count: 0
[18:44:55] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[18:44:55] [UPLOAD_DEBUG] File exists: true
[18:44:55] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB)
[18:44:55] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[18:44:55] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[18:44:55] [UPLOAD_DEBUG] --- startStandardUpload ---
[18:44:55] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[18:44:55] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[18:44:55] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/9937C85D-2A95-49BE-85DF-47D624B9B839.upload
[18:44:55] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes
[18:44:55] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[18:44:55] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes)
[18:44:55] [UPLOAD_DEBUG] Creating background upload task...
[18:44:55] [UPLOAD_DEBUG] Task created with identifier: 1
[18:44:55] [UPLOAD_DEBUG] Added to activeUploads dictionary
[18:44:55] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[18:44:55] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=1 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0
[18:44:55] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[18:44:55] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[18:44:55] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[18:44:55] [GALLERY_DB] Raw datesent for msg -10: '2026-03-06 17:44:55'
[18:44:55] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46'
[18:44:55] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34'
[18:44:55] [GALLERY_DB] ✅ Loaded 778 media messages
[18:44:55] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23841,"session_id":"ILUIWU","message_type":1,"file_name":"edc609c733fd329e.jpg","datesent_utc":"2026-03-06 17:44:55"}
[18:44:55] [CHAT] receive_message.php JSON: ["file_name": edc609c733fd329e.jpg, "datesent_utc": 2026-03-06 17:44:55, "ok": 1, "message_type": 1, "session_id": ILUIWU, "message_id": 23841]
[18:44:55] [DB_UPGRADE] Upgrading message ID: -10 → 23841, preserveOriginalDate=false
[18:44:55] [DB_UPGRADE] ✅ Upgraded -10 → 23841 with send_status=0, 1 row(s) affected
[18:44:55] [GALLERY] Filtered 778 -> 735 (only with local thumbnails)
[18:44:55] [GALLERY] First 5 after sort (newest first):
[18:44:55] [GALLERY] 0: id=-10, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg
[18:44:55] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg
[18:44:55] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg
[18:44:55] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg
[18:44:55] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov
[18:44:55] [UPLOAD_TIMING] ⏱️ main.async delay: 0.367s for t_edc609c733fd329e.jpg status=uploading
[18:44:55] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[18:44:55] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg
[18:44:55] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[18:44:55] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages
[18:44:55] [CLIENT_SIG] Event received: type=0 messageId=23841
[18:44:55] [WS_EVENT] Received event: type=0, messageId=23841
[18:44:55] [WS_EVENT] 📨 New message notification (msgId=23841) - triggering incremental refresh, currentMsgCount=105
[18:44:55] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105
[18:44:55] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23840
[18:44:55] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841
[18:44:55] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -10 → 23841
[18:44:55] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -10 → 23841
[18:44:55] ReloadData 9
[18:44:55] [INCREMENTAL_SYNC] ✅ No new messages
[18:44:55] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=105
[18:44:56] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1
[18:44:56] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[18:44:56] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:44:56] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0
[18:44:56] [SCROLL_BTN] Showing button - 386pt from bottom > half 223pt
[18:44:56] [SCROLL_BTN] Showing button - 375pt from bottom > half 223pt
[18:44:56] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:56] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:56] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:56] HELLO → sent (cached token, role=query)
[18:44:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:56] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:56] [CLEANUP] ========================================
[18:44:56] [CLEANUP] Cleaning up all agent connections and views
[18:44:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:56] [CLEANUP] Stopped and removed 0 video connections
[18:44:56] [CLEANUP] Removed 0 video views
[18:44:56] [CLEANUP] Removed 0 feed scroll views
[18:44:56] [CLEANUP] Removed 0 status labels
[18:44:56] [CLEANUP] Reset agent query state
[18:44:56] [CLEANUP] Updated page indicator
[18:44:56] [CLEANUP] Rebuilt video layout
[18:44:56] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:56] [CLEANUP] ========================================
[18:44:56] [SERVER] Starting reconnect polling (5s interval)
[18:44:56] [CLEANUP] ========================================
[18:44:56] [CLEANUP] Cleaning up all agent connections and views
[18:44:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:56] [CLEANUP] Stopped and removed 0 video connections
[18:44:56] [CLEANUP] Removed 0 video views
[18:44:56] [CLEANUP] Removed 0 feed scroll views
[18:44:56] [CLEANUP] Removed 0 status labels
[18:44:56] [CLEANUP] Reset agent query state
[18:44:56] [CLEANUP] Updated page indicator
[18:44:56] [CLEANUP] Rebuilt video layout
[18:44:56] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:56] [CLEANUP] ========================================
[18:44:56] [SERVER] Starting reconnect polling (5s interval)
[18:44:57] [MENU] dismissAnyExistingMenu called
[18:44:57] [MENU] dismissAnyExistingMenu completed
[18:44:57] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=30
[18:44:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:58] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:44:58] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:44:58] HELLO → sent (cached token, role=query)
[18:44:58] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:44:58] [WS] Query connection failed - cleaning up all agent connections and views
[18:44:58] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:44:58] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:44:58] [CLEANUP] ========================================
[18:44:58] [CLEANUP] Cleaning up all agent connections and views
[18:44:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:58] [CLEANUP] Stopped and removed 0 video connections
[18:44:58] [CLEANUP] Removed 0 video views
[18:44:58] [CLEANUP] Removed 0 feed scroll views
[18:44:58] [CLEANUP] Removed 0 status labels
[18:44:58] [CLEANUP] Reset agent query state
[18:44:58] [CLEANUP] Updated page indicator
[18:44:58] [CLEANUP] Rebuilt video layout
[18:44:58] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:58] [CLEANUP] ========================================
[18:44:58] [SERVER] Starting reconnect polling (5s interval)
[18:44:58] [CLEANUP] ========================================
[18:44:58] [CLEANUP] Cleaning up all agent connections and views
[18:44:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:44:58] [CLEANUP] Stopped and removed 0 video connections
[18:44:58] [CLEANUP] Removed 0 video views
[18:44:58] [CLEANUP] Removed 0 feed scroll views
[18:44:58] [CLEANUP] Removed 0 status labels
[18:44:58] [CLEANUP] Reset agent query state
[18:44:58] [CLEANUP] Updated page indicator
[18:44:58] [CLEANUP] Rebuilt video layout
[18:44:58] [CLEANUP] ✅ All agent connections and views cleaned up
[18:44:58] [CLEANUP] ========================================
[18:44:58] [SERVER] Starting reconnect polling (5s interval)
[18:45:00] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:00] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:00] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:00] HELLO → sent (cached token, role=query)
[18:45:00] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:00] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:00] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:00] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:00] [CLEANUP] ========================================
[18:45:00] [CLEANUP] Cleaning up all agent connections and views
[18:45:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:00] [CLEANUP] Stopped and removed 0 video connections
[18:45:00] [CLEANUP] Removed 0 video views
[18:45:00] [CLEANUP] Removed 0 feed scroll views
[18:45:00] [CLEANUP] Removed 0 status labels
[18:45:00] [CLEANUP] Reset agent query state
[18:45:00] [CLEANUP] Updated page indicator
[18:45:00] [CLEANUP] Rebuilt video layout
[18:45:00] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:00] [CLEANUP] ========================================
[18:45:00] [SERVER] Starting reconnect polling (5s interval)
[18:45:00] [CLEANUP] ========================================
[18:45:00] [CLEANUP] Cleaning up all agent connections and views
[18:45:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:00] [CLEANUP] Stopped and removed 0 video connections
[18:45:00] [CLEANUP] Removed 0 video views
[18:45:00] [CLEANUP] Removed 0 feed scroll views
[18:45:00] [CLEANUP] Removed 0 status labels
[18:45:00] [CLEANUP] Reset agent query state
[18:45:00] [CLEANUP] Updated page indicator
[18:45:00] [CLEANUP] Rebuilt video layout
[18:45:00] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:00] [CLEANUP] ========================================
[18:45:00] [SERVER] Starting reconnect polling (5s interval)
[18:45:02] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:02] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:02] HELLO → sent (cached token, role=query)
[18:45:02] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:02] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:02] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:02] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:02] [CLEANUP] ========================================
[18:45:02] [CLEANUP] Cleaning up all agent connections and views
[18:45:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:02] [CLEANUP] Stopped and removed 0 video connections
[18:45:02] [CLEANUP] Removed 0 video views
[18:45:02] [CLEANUP] Removed 0 feed scroll views
[18:45:02] [CLEANUP] Removed 0 status labels
[18:45:02] [CLEANUP] Reset agent query state
[18:45:02] [CLEANUP] Updated page indicator
[18:45:02] [CLEANUP] Rebuilt video layout
[18:45:02] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:02] [CLEANUP] ========================================
[18:45:02] [SERVER] Starting reconnect polling (5s interval)
[18:45:02] [CLEANUP] ========================================
[18:45:02] [CLEANUP] Cleaning up all agent connections and views
[18:45:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:02] [CLEANUP] Stopped and removed 0 video connections
[18:45:02] [CLEANUP] Removed 0 video views
[18:45:02] [CLEANUP] Removed 0 feed scroll views
[18:45:02] [CLEANUP] Removed 0 status labels
[18:45:02] [CLEANUP] Reset agent query state
[18:45:02] [CLEANUP] Updated page indicator
[18:45:02] [CLEANUP] Rebuilt video layout
[18:45:02] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:02] [CLEANUP] ========================================
[18:45:02] [SERVER] Starting reconnect polling (5s interval)
[18:45:04] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:04] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:04] HELLO → sent (cached token, role=query)
[18:45:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:04] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:04] [CLEANUP] ========================================
[18:45:04] [CLEANUP] Cleaning up all agent connections and views
[18:45:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:04] [CLEANUP] Stopped and removed 0 video connections
[18:45:04] [CLEANUP] Removed 0 video views
[18:45:04] [CLEANUP] Removed 0 feed scroll views
[18:45:04] [CLEANUP] Removed 0 status labels
[18:45:04] [CLEANUP] Reset agent query state
[18:45:04] [CLEANUP] Updated page indicator
[18:45:04] [CLEANUP] Rebuilt video layout
[18:45:04] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:04] [CLEANUP] ========================================
[18:45:04] [SERVER] Starting reconnect polling (5s interval)
[18:45:04] [CLEANUP] ========================================
[18:45:04] [CLEANUP] Cleaning up all agent connections and views
[18:45:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:04] [CLEANUP] Stopped and removed 0 video connections
[18:45:04] [CLEANUP] Removed 0 video views
[18:45:04] [CLEANUP] Removed 0 feed scroll views
[18:45:04] [CLEANUP] Removed 0 status labels
[18:45:04] [CLEANUP] Reset agent query state
[18:45:04] [CLEANUP] Updated page indicator
[18:45:04] [CLEANUP] Rebuilt video layout
[18:45:04] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:04] [CLEANUP] ========================================
[18:45:04] [SERVER] Starting reconnect polling (5s interval)
[18:45:06] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:06] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:06] HELLO → sent (cached token, role=query)
[18:45:06] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:06] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:06] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:06] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:06] [CLEANUP] ========================================
[18:45:06] [CLEANUP] Cleaning up all agent connections and views
[18:45:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:06] [CLEANUP] Stopped and removed 0 video connections
[18:45:06] [CLEANUP] Removed 0 video views
[18:45:06] [CLEANUP] Removed 0 feed scroll views
[18:45:06] [CLEANUP] Removed 0 status labels
[18:45:06] [CLEANUP] Reset agent query state
[18:45:06] [CLEANUP] Updated page indicator
[18:45:06] [CLEANUP] Rebuilt video layout
[18:45:06] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:06] [CLEANUP] ========================================
[18:45:06] [SERVER] Starting reconnect polling (5s interval)
[18:45:06] [CLEANUP] ========================================
[18:45:06] [CLEANUP] Cleaning up all agent connections and views
[18:45:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:06] [CLEANUP] Stopped and removed 0 video connections
[18:45:06] [CLEANUP] Removed 0 video views
[18:45:06] [CLEANUP] Removed 0 feed scroll views
[18:45:06] [CLEANUP] Removed 0 status labels
[18:45:06] [CLEANUP] Reset agent query state
[18:45:06] [CLEANUP] Updated page indicator
[18:45:06] [CLEANUP] Rebuilt video layout
[18:45:06] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:06] [CLEANUP] ========================================
[18:45:06] [SERVER] Starting reconnect polling (5s interval)
[18:45:06] [LIFECYCLE] App resigning active - cleared crash flag
[18:45:07] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:45:07] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:45:07] [SECURITY] Saved background timestamp
[18:45:07] [LIFECYCLE] App entering background - cleared crash flag
[18:45:07] [CLIENT_SIG] Disconnecting
[18:45:07] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:45:07] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:45:07] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:07] [LIFECYCLE] Background snapshot: count=105, maxId=23841
[18:45:07] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:45:07] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:45:07] In cleanupPeer
[18:45:07] In cleanupPeer
[18:45:07] [LIFECYCLE] WebRTC audio disabled
[18:45:07] [LIFECYCLE] AVAudioSession deactivated
[18:45:07] [LIFECYCLE] All connections stopped
[18:45:07] [CLIENT_SIG] WebSocket closed with code 1001
[18:45:07] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:45:07] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:45:07] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:45:07] [SERVER] Stopped reconnect polling
[18:45:07] [WS] URLSession invalidated successfully
[18:45:07] Will request stop of video 0
[18:45:07] Will request stop of video 0
[18:45:07] [PIP] Removing 0 tracks from PiP for connection 0
[18:45:07] [PIP] ✅ All tracks removed for connection 0
[18:45:07] [PIP] Removing 0 tracks from PiP for connection 0
[18:45:07] [PIP] ✅ All tracks removed for connection 0
[18:45:16] [SECURITY] Timeout check: elapsed=8.85562014579773s, timeout=300.0s
[18:45:16] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:45:16] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:45:16] [LIFECYCLE] App entering foreground - restoring connections
[18:45:16] [PUSH_TRACE] 🔄 FOREGROUND: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:16] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:45:16] [UPLOAD_RETRY] Found 1 pending uploads to retry
[18:45:16] [UPLOAD_RETRY] Retrying upload for: edc609c733fd329e.jpg
[18:45:16] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading)
[18:45:16] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg
[18:45:16] [UPLOAD_RETRY] Re-enqueueing upload for: edc609c733fd329e.jpg
[18:45:16] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[18:45:16] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[18:45:16] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg
[18:45:16] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[18:45:16] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:45:16] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[18:45:16] [LIFECYCLE] WebRTC audio re-enabled
[18:45:16] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:45:16] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:45:16] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:45:16] [VIEWER] Reconnecting after background - querying agents
[18:45:16] [UNSENT_RETRY] Checking for unsent messages...
[18:45:16] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=2, sendStatus=0
[18:45:16] [PENDING_UPLOAD] Total pending upload messages: 1
[18:45:16] [UNSENT_RETRY] No unsent messages found
[18:45:16] [UPLOAD_QUEUE] Enqueued upload id=968 for edc609c733fd329e.jpg
[18:45:16] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[18:45:16] [UPLOAD_DEBUG] Item ID: 968
[18:45:16] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg
[18:45:16] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg
[18:45:16] [UPLOAD_DEBUG] Session ID: ILUIWU
[18:45:16] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[18:45:16] [UPLOAD_DEBUG] Retry count: 0
[18:45:16] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[18:45:16] [UPLOAD_DEBUG] File exists: true
[18:45:16] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB)
[18:45:16] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[18:45:16] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[18:45:16] [UPLOAD_DEBUG] --- startStandardUpload ---
[18:45:16] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[18:45:16] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[18:45:16] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/9B72C401-1E1B-411B-9E75-80CE5201C969.upload
[18:45:16] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes
[18:45:16] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[18:45:16] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes)
[18:45:16] [UPLOAD_DEBUG] Creating background upload task...
[18:45:16] [UPLOAD_DEBUG] Task created with identifier: 2
[18:45:16] [UPLOAD_DEBUG] Added to activeUploads dictionary
[18:45:16] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[18:45:16] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=2 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0
[18:45:16] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[18:45:16] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[18:45:16] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:16] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:16] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:45:16] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading)
[18:45:16] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[0]: 1 → 2
[18:45:16] [UPLOAD_STATUS] 📝 Updated chatMessages[0]: status=2
[18:45:16] [UPLOAD_STATUS] 📝 Updated chatRows[106]: status=2
[18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:45:16] [UPLOAD_STATUS] 🔄 Updated visible cell at row 106
[18:45:16] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading)
[18:45:16] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg
[18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:45:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=3
[18:45:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:45:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:45:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:16] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:45:16] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:45:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:45:16] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:45:16] [SCROLL] 💓 alive, visible=104...106, rows=107, estHeight=60.0, heightCalls=4
[18:45:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[18:45:16] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[18:45:16] [SECURITY] Within timeout - cleared background flag
[18:45:16] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:45:16] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:16] [PUSH] handlePollEventsNotification userInfo: [:]
[18:45:16] [PUSH] No message_id in userInfo
[18:45:16] [PUSH] No operation_type in userInfo
[18:45:16] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:45:16] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:45:16] [PUSH_TRACE] 📬 POLL: memory state: count=105, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:16] [FAST_REFRESH] Already have 105 messages in memory
[18:45:16] [FAST_REFRESH] maxMemoryId=23841, maxLocalId=23841
[18:45:16] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:45:16] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:45:16] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[18:45:16] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105
[18:45:16] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841
[18:45:16] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841
[18:45:16] [CLIENT_SIG] WebSocket opened
[18:45:16] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:45:16] [CLIENT_SIG] Connected! clientId=2DeiCX4KeMwFuLPA
[18:45:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:45:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:45:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:45:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:16] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:45:16] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:45:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:45:16] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:45:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=4
[18:45:16] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:45:16] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:45:16] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:16] HELLO → sent (cached token, role=query)
[18:45:16] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[18:45:16] [FOREGROUND] Enriched 0/2 unsettled messages with readBy data
[18:45:16] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=105>105=false, maxId=23841>23841=false, shouldScroll=false
[18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:45:16] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:16] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:16] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:16] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:16] [CLEANUP] ========================================
[18:45:16] [CLEANUP] Cleaning up all agent connections and views
[18:45:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:16] [CLEANUP] Stopped and removed 0 video connections
[18:45:16] [CLEANUP] Removed 0 video views
[18:45:16] [CLEANUP] Removed 0 feed scroll views
[18:45:16] [CLEANUP] Removed 0 status labels
[18:45:16] [CLEANUP] Reset agent query state
[18:45:16] [CLEANUP] Updated page indicator
[18:45:16] [CLEANUP] Rebuilt video layout
[18:45:16] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:16] [CLEANUP] ========================================
[18:45:16] [SERVER] Starting reconnect polling (5s interval)
[18:45:16] [CLEANUP] ========================================
[18:45:16] [CLEANUP] Cleaning up all agent connections and views
[18:45:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:16] [CLEANUP] Stopped and removed 0 video connections
[18:45:16] [CLEANUP] Removed 0 video views
[18:45:16] [CLEANUP] Removed 0 feed scroll views
[18:45:16] [CLEANUP] Removed 0 status labels
[18:45:16] [CLEANUP] Reset agent query state
[18:45:16] [CLEANUP] Updated page indicator
[18:45:16] [CLEANUP] Rebuilt video layout
[18:45:16] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:16] [CLEANUP] ========================================
[18:45:16] [SERVER] Starting reconnect polling (5s interval)
[18:45:16] [INCREMENTAL_SYNC] ✅ No new messages
[18:45:16] [FAST_REFRESH] Incremental sync complete - 105 messages
[18:45:16] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[18:45:16] [FAST_REFRESH] Enriched 2/2 unsettled messages with readBy data
[18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:45:16] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:45:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=4
[18:45:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:45:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:45:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:16] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:45:16] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:45:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:45:16] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:45:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=4
[18:45:18] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:18] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:18] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:18] HELLO → sent (cached token, role=query)
[18:45:18] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:18] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:18] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:18] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:18] [CLEANUP] ========================================
[18:45:18] [CLEANUP] Cleaning up all agent connections and views
[18:45:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:18] [CLEANUP] Stopped and removed 0 video connections
[18:45:18] [CLEANUP] Removed 0 video views
[18:45:18] [CLEANUP] Removed 0 feed scroll views
[18:45:18] [CLEANUP] Removed 0 status labels
[18:45:18] [CLEANUP] Reset agent query state
[18:45:18] [CLEANUP] Updated page indicator
[18:45:18] [CLEANUP] Rebuilt video layout
[18:45:18] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:18] [CLEANUP] ========================================
[18:45:18] [SERVER] Starting reconnect polling (5s interval)
[18:45:18] [CLEANUP] ========================================
[18:45:18] [CLEANUP] Cleaning up all agent connections and views
[18:45:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:18] [CLEANUP] Stopped and removed 0 video connections
[18:45:18] [CLEANUP] Removed 0 video views
[18:45:18] [CLEANUP] Removed 0 feed scroll views
[18:45:18] [CLEANUP] Removed 0 status labels
[18:45:18] [CLEANUP] Reset agent query state
[18:45:18] [CLEANUP] Updated page indicator
[18:45:18] [CLEANUP] Rebuilt video layout
[18:45:18] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:18] [CLEANUP] ========================================
[18:45:18] [SERVER] Starting reconnect polling (5s interval)
[18:45:19] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:19] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:20] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:20] HELLO → sent (cached token, role=query)
[18:45:20] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:20] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:20] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:20] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:20] [CLEANUP] ========================================
[18:45:20] [CLEANUP] Cleaning up all agent connections and views
[18:45:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:20] [CLEANUP] Stopped and removed 0 video connections
[18:45:20] [CLEANUP] Removed 0 video views
[18:45:20] [CLEANUP] Removed 0 feed scroll views
[18:45:20] [CLEANUP] Removed 0 status labels
[18:45:20] [CLEANUP] Reset agent query state
[18:45:20] [CLEANUP] Updated page indicator
[18:45:20] [CLEANUP] Rebuilt video layout
[18:45:20] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:20] [CLEANUP] ========================================
[18:45:20] [SERVER] Starting reconnect polling (5s interval)
[18:45:20] [CLEANUP] ========================================
[18:45:20] [CLEANUP] Cleaning up all agent connections and views
[18:45:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:20] [CLEANUP] Stopped and removed 0 video connections
[18:45:20] [CLEANUP] Removed 0 video views
[18:45:20] [CLEANUP] Removed 0 feed scroll views
[18:45:20] [CLEANUP] Removed 0 status labels
[18:45:20] [CLEANUP] Reset agent query state
[18:45:20] [CLEANUP] Updated page indicator
[18:45:20] [CLEANUP] Rebuilt video layout
[18:45:20] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:20] [CLEANUP] ========================================
[18:45:20] [SERVER] Starting reconnect polling (5s interval)
[18:45:21] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:21] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:22] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:22] HELLO → sent (cached token, role=query)
[18:45:22] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:22] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:22] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:22] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:22] [CLEANUP] ========================================
[18:45:22] [CLEANUP] Cleaning up all agent connections and views
[18:45:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:22] [CLEANUP] Stopped and removed 0 video connections
[18:45:22] [CLEANUP] Removed 0 video views
[18:45:22] [CLEANUP] Removed 0 feed scroll views
[18:45:22] [CLEANUP] Removed 0 status labels
[18:45:22] [CLEANUP] Reset agent query state
[18:45:22] [CLEANUP] Updated page indicator
[18:45:22] [CLEANUP] Rebuilt video layout
[18:45:22] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:22] [CLEANUP] ========================================
[18:45:22] [SERVER] Starting reconnect polling (5s interval)
[18:45:22] [CLEANUP] ========================================
[18:45:22] [CLEANUP] Cleaning up all agent connections and views
[18:45:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:22] [CLEANUP] Stopped and removed 0 video connections
[18:45:22] [CLEANUP] Removed 0 video views
[18:45:22] [CLEANUP] Removed 0 feed scroll views
[18:45:22] [CLEANUP] Removed 0 status labels
[18:45:22] [CLEANUP] Reset agent query state
[18:45:22] [CLEANUP] Updated page indicator
[18:45:22] [CLEANUP] Rebuilt video layout
[18:45:22] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:22] [CLEANUP] ========================================
[18:45:22] [SERVER] Starting reconnect polling (5s interval)
[18:45:23] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:23] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:23] [MENU] dismissAnyExistingMenu called
[18:45:23] [MENU] dismissAnyExistingMenu completed
[18:45:23] [SCROLL] 💓 alive, visible=104...106, rows=107, estHeight=60.0, heightCalls=6
[18:45:23] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=<Eye.PastingTextView: 0x11c044c00; baseClass = UITextView; frame = (44 8; 320 36
[18:45:23] [LOG-KB] textViewDidEndEditing: isInputField=true, resetting allowKeyboardDismiss to false
[18:45:24] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:24] HELLO → sent (cached token, role=query)
[18:45:24] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:24] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:24] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:24] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:24] [CLEANUP] ========================================
[18:45:24] [CLEANUP] Cleaning up all agent connections and views
[18:45:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:24] [CLEANUP] Stopped and removed 0 video connections
[18:45:24] [CLEANUP] Removed 0 video views
[18:45:24] [CLEANUP] Removed 0 feed scroll views
[18:45:24] [CLEANUP] Removed 0 status labels
[18:45:24] [CLEANUP] Reset agent query state
[18:45:24] [CLEANUP] Updated page indicator
[18:45:24] [CLEANUP] Rebuilt video layout
[18:45:24] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:24] [CLEANUP] ========================================
[18:45:24] [SERVER] Starting reconnect polling (5s interval)
[18:45:24] [CLEANUP] ========================================
[18:45:24] [CLEANUP] Cleaning up all agent connections and views
[18:45:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:24] [CLEANUP] Stopped and removed 0 video connections
[18:45:24] [CLEANUP] Removed 0 video views
[18:45:24] [CLEANUP] Removed 0 feed scroll views
[18:45:24] [CLEANUP] Removed 0 status labels
[18:45:24] [CLEANUP] Reset agent query state
[18:45:24] [CLEANUP] Updated page indicator
[18:45:24] [CLEANUP] Rebuilt video layout
[18:45:24] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:24] [CLEANUP] ========================================
[18:45:24] [SERVER] Starting reconnect polling (5s interval)
[18:45:24] [MENU] dismissAnyExistingMenu called
[18:45:24] [MENU] dismissAnyExistingMenu completed
[18:45:24] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=32
[18:45:25] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:25] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:26] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:26] HELLO → sent (cached token, role=query)
[18:45:26] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:26] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:26] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:26] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:26] [CLEANUP] ========================================
[18:45:26] [CLEANUP] Cleaning up all agent connections and views
[18:45:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:26] [CLEANUP] Stopped and removed 0 video connections
[18:45:26] [CLEANUP] Removed 0 video views
[18:45:26] [CLEANUP] Removed 0 feed scroll views
[18:45:26] [CLEANUP] Removed 0 status labels
[18:45:26] [CLEANUP] Reset agent query state
[18:45:26] [CLEANUP] Updated page indicator
[18:45:26] [CLEANUP] Rebuilt video layout
[18:45:26] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:26] [CLEANUP] ========================================
[18:45:26] [SERVER] Starting reconnect polling (5s interval)
[18:45:26] [CLEANUP] ========================================
[18:45:26] [CLEANUP] Cleaning up all agent connections and views
[18:45:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:26] [CLEANUP] Stopped and removed 0 video connections
[18:45:26] [CLEANUP] Removed 0 video views
[18:45:26] [CLEANUP] Removed 0 feed scroll views
[18:45:26] [CLEANUP] Removed 0 status labels
[18:45:26] [CLEANUP] Reset agent query state
[18:45:26] [CLEANUP] Updated page indicator
[18:45:26] [CLEANUP] Rebuilt video layout
[18:45:26] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:26] [CLEANUP] ========================================
[18:45:26] [SERVER] Starting reconnect polling (5s interval)
[18:45:26] [LOG] Long press on chat icon detected! Triggering log upload...
[18:45:26] [LOG-PROMPT] ====== promptForLogDescription START ======
[18:45:26] [LOG-PROMPT] presentedVC=nil
[18:45:26] [LOG-PROMPT] isViewLoaded=true, view.window=YES
[18:45:26] [LOG-PROMPT] inputField.isFirstResponder=false
[18:45:26] [LOG-PROMPT] allowKeyboardDismiss BEFORE=false
[18:45:26] [LOG-PROMPT] allowKeyboardDismiss set to TRUE
[18:45:26] [LOG-PROMPT] view.endEditing(true) returned true
[18:45:26] [LOG-PROMPT] inputField.isFirstResponder AFTER endEditing=false
[18:45:26] [LOG-PROMPT] allowKeyboardDismiss AFTER endEditing=true
[18:45:26] [LOG-PROMPT] No keyboard active — presenting alert immediately
[18:45:27] [LOG-ALERT] ---- presentLogDescriptionAlert about to present ----
[18:45:27] [LOG-ALERT] inputField.isFirstResponder=false, allowKeyboardDismiss=true
[18:45:27] [LOG-ALERT] final endEditing returned=true, inputField.isFirstResponder AFTER=false
[18:45:27] [LOG-ALERT] allowKeyboardDismiss AFTER final endEditing=true
[18:45:27] [LOG-ALERT] presentedVC=nil
[18:45:27] [LOG-ALERT] ---- present completion handler fired ----
[18:45:27] [LOG-ALERT] inputField.isFirstResponder=false
[18:45:27] [LOG-ALERT] textView.window=YES
[18:45:27] [LOG-ALERT] textView.canBecomeFirstResponder=true
[18:45:27] [LOG-ALERT] textView.isEditable=true, isUserInteractionEnabled=true
[18:45:27] [LOG-ALERT] textView.frame=(16.0, 64.0, 288.0, 100.0), isHidden=false, alpha=1.0
[18:45:27] [LOG-ALERT] textView.superview=Optional("<_UIAlertControllerPhoneTVMacView: 0x12507b200; frame = (60 373; 320 238); layer")
[18:45:27] [LOG-ALERT] textView.becomeFirstResponder()=true
[18:45:27] [LOG-ALERT] ---- present completion handler done ----
[18:45:27] [SCROLL] 💓 alive, visible=99...106, rows=107, estHeight=60.0, heightCalls=2
[18:45:27] [SCROLL_BTN] Showing button - 308pt from bottom > half 223pt
[18:45:27] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:27] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:27] HELLO → sent (cached token, role=query)
[18:45:27] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:27] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:27] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:27] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:27] [CLEANUP] ========================================
[18:45:27] [CLEANUP] Cleaning up all agent connections and views
[18:45:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:27] [CLEANUP] Stopped and removed 0 video connections
[18:45:27] [CLEANUP] Removed 0 video views
[18:45:27] [CLEANUP] Removed 0 feed scroll views
[18:45:27] [CLEANUP] Removed 0 status labels
[18:45:27] [CLEANUP] Reset agent query state
[18:45:27] [CLEANUP] Updated page indicator
[18:45:27] [CLEANUP] Rebuilt video layout
[18:45:27] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:27] [CLEANUP] ========================================
[18:45:27] [SERVER] Starting reconnect polling (5s interval)
[18:45:27] [CLEANUP] ========================================
[18:45:27] [CLEANUP] Cleaning up all agent connections and views
[18:45:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:27] [CLEANUP] Stopped and removed 0 video connections
[18:45:27] [CLEANUP] Removed 0 video views
[18:45:27] [CLEANUP] Removed 0 feed scroll views
[18:45:27] [CLEANUP] Removed 0 status labels
[18:45:27] [CLEANUP] Reset agent query state
[18:45:27] [CLEANUP] Updated page indicator
[18:45:27] [CLEANUP] Rebuilt video layout
[18:45:27] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:27] [CLEANUP] ========================================
[18:45:27] [SERVER] Starting reconnect polling (5s interval)
[18:45:29] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:29] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:29] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:29] HELLO → sent (cached token, role=query)
[18:45:29] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:29] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:29] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:29] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:29] [CLEANUP] ========================================
[18:45:29] [CLEANUP] Cleaning up all agent connections and views
[18:45:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:29] [CLEANUP] Stopped and removed 0 video connections
[18:45:29] [CLEANUP] Removed 0 video views
[18:45:29] [CLEANUP] Removed 0 feed scroll views
[18:45:29] [CLEANUP] Removed 0 status labels
[18:45:29] [CLEANUP] Reset agent query state
[18:45:29] [CLEANUP] Updated page indicator
[18:45:29] [CLEANUP] Rebuilt video layout
[18:45:29] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:29] [CLEANUP] ========================================
[18:45:29] [SERVER] Starting reconnect polling (5s interval)
[18:45:29] [CLEANUP] ========================================
[18:45:29] [CLEANUP] Cleaning up all agent connections and views
[18:45:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:29] [CLEANUP] Stopped and removed 0 video connections
[18:45:29] [CLEANUP] Removed 0 video views
[18:45:29] [CLEANUP] Removed 0 feed scroll views
[18:45:29] [CLEANUP] Removed 0 status labels
[18:45:29] [CLEANUP] Reset agent query state
[18:45:29] [CLEANUP] Updated page indicator
[18:45:29] [CLEANUP] Rebuilt video layout
[18:45:29] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:29] [CLEANUP] ========================================
[18:45:29] [SERVER] Starting reconnect polling (5s interval)
[18:45:31] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:31] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:31] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:31] HELLO → sent (cached token, role=query)
[18:45:31] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:31] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:31] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:31] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:31] [CLEANUP] ========================================
[18:45:31] [CLEANUP] Cleaning up all agent connections and views
[18:45:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:31] [CLEANUP] Stopped and removed 0 video connections
[18:45:31] [CLEANUP] Removed 0 video views
[18:45:31] [CLEANUP] Removed 0 feed scroll views
[18:45:31] [CLEANUP] Removed 0 status labels
[18:45:31] [CLEANUP] Reset agent query state
[18:45:31] [CLEANUP] Updated page indicator
[18:45:31] [CLEANUP] Rebuilt video layout
[18:45:31] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:31] [CLEANUP] ========================================
[18:45:31] [SERVER] Starting reconnect polling (5s interval)
[18:45:31] [CLEANUP] ========================================
[18:45:31] [CLEANUP] Cleaning up all agent connections and views
[18:45:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:31] [CLEANUP] Stopped and removed 0 video connections
[18:45:31] [CLEANUP] Removed 0 video views
[18:45:31] [CLEANUP] Removed 0 feed scroll views
[18:45:31] [CLEANUP] Removed 0 status labels
[18:45:31] [CLEANUP] Reset agent query state
[18:45:31] [CLEANUP] Updated page indicator
[18:45:31] [CLEANUP] Rebuilt video layout
[18:45:31] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:31] [CLEANUP] ========================================
[18:45:31] [SERVER] Starting reconnect polling (5s interval)
[18:45:32] [SCROLL] 💓 alive, visible=99...106, rows=107, estHeight=60.0, heightCalls=0
[18:45:33] [LOG] Upload tapped with description: 'Image not sending'
[18:45:33] [LOG] Uploading log as '2026-03-06-18-45-image-not-sending-Laurent.log' (949 KB) to server...
[18:45:33] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:33] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:33] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:33] HELLO → sent (cached token, role=query)
[18:45:33] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:33] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:33] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:33] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:33] [CLEANUP] ========================================
[18:45:33] [CLEANUP] Cleaning up all agent connections and views
[18:45:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:33] [CLEANUP] Stopped and removed 0 video connections
[18:45:33] [CLEANUP] Removed 0 video views
[18:45:33] [CLEANUP] Removed 0 feed scroll views
[18:45:33] [CLEANUP] Removed 0 status labels
[18:45:33] [CLEANUP] Reset agent query state
[18:45:33] [CLEANUP] Updated page indicator
[18:45:33] [CLEANUP] Rebuilt video layout
[18:45:33] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:33] [CLEANUP] ========================================
[18:45:33] [SERVER] Starting reconnect polling (5s interval)
[18:45:33] [CLEANUP] ========================================
[18:45:33] [CLEANUP] Cleaning up all agent connections and views
[18:45:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:33] [CLEANUP] Stopped and removed 0 video connections
[18:45:33] [CLEANUP] Removed 0 video views
[18:45:33] [CLEANUP] Removed 0 feed scroll views
[18:45:33] [CLEANUP] Removed 0 status labels
[18:45:33] [CLEANUP] Reset agent query state
[18:45:33] [CLEANUP] Updated page indicator
[18:45:33] [CLEANUP] Rebuilt video layout
[18:45:33] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:33] [CLEANUP] ========================================
[18:45:33] [SERVER] Starting reconnect polling (5s interval)
[18:45:34] [LOG] Upload HTTP status: 200
[18:45:34] [LOG] Upload successful: 2026-03-06-18-45-image-not-sending-Laurent.log
[18:45:34] [LOG] Skipping cross-device log request (description doesn't end with '2')
[18:45:35] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:35] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:35] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:35] HELLO → sent (cached token, role=query)
[18:45:35] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:45:35] [WS] Query connection failed - cleaning up all agent connections and views
[18:45:35] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:45:35] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:45:35] [CLEANUP] ========================================
[18:45:35] [CLEANUP] Cleaning up all agent connections and views
[18:45:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:35] [CLEANUP] Stopped and removed 0 video connections
[18:45:35] [CLEANUP] Removed 0 video views
[18:45:35] [CLEANUP] Removed 0 feed scroll views
[18:45:35] [CLEANUP] Removed 0 status labels
[18:45:35] [CLEANUP] Reset agent query state
[18:45:35] [CLEANUP] Updated page indicator
[18:45:35] [CLEANUP] Rebuilt video layout
[18:45:35] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:35] [CLEANUP] ========================================
[18:45:35] [SERVER] Starting reconnect polling (5s interval)
[18:45:35] [CLEANUP] ========================================
[18:45:35] [CLEANUP] Cleaning up all agent connections and views
[18:45:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:45:35] [CLEANUP] Stopped and removed 0 video connections
[18:45:35] [CLEANUP] Removed 0 video views
[18:45:35] [CLEANUP] Removed 0 feed scroll views
[18:45:35] [CLEANUP] Removed 0 status labels
[18:45:35] [CLEANUP] Reset agent query state
[18:45:35] [CLEANUP] Updated page indicator
[18:45:35] [CLEANUP] Rebuilt video layout
[18:45:35] [CLEANUP] ✅ All agent connections and views cleaned up
[18:45:35] [CLEANUP] ========================================
[18:45:35] [SERVER] Starting reconnect polling (5s interval)
[18:45:36] [LIFECYCLE] App resigning active - cleared crash flag
[18:45:36] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:45:36] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:45:36] [SECURITY] Saved background timestamp
[18:45:36] [LIFECYCLE] App entering background - cleared crash flag
[18:45:36] [CLIENT_SIG] Disconnecting
[18:45:36] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:45:36] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:45:36] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:45:36] [LIFECYCLE] Background snapshot: count=105, maxId=23841
[18:45:36] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:45:36] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:45:36] In cleanupPeer
[18:45:36] In cleanupPeer
[18:45:36] [LIFECYCLE] WebRTC audio disabled
[18:45:36] [LIFECYCLE] AVAudioSession deactivated
[18:45:36] [LIFECYCLE] All connections stopped
[18:45:37] [CLIENT_SIG] WebSocket closed with code 1001
[18:45:37] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:45:37] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:45:37] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:45:37] [SERVER] Stopped reconnect polling
[18:45:37] [WS] URLSession invalidated successfully
[18:45:37] Will request stop of video 0
[18:45:37] Will request stop of video 0
[18:45:37] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:45:37] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:45:37] [PIP] Removing 0 tracks from PiP for connection 0
[18:45:37] [PIP] ✅ All tracks removed for connection 0
[18:45:37] [PIP] Removing 0 tracks from PiP for connection 0
[18:45:37] [PIP] ✅ All tracks removed for connection 0
[18:46:36] [SECURITY] Timeout check: elapsed=59.77121591567993s, timeout=300.0s
[18:46:36] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:46:36] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:46:36] [LIFECYCLE] App entering foreground - restoring connections
[18:46:36] [PUSH_TRACE] 🔄 FOREGROUND: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:36] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:46:36] [UPLOAD_RETRY] No pending uploads to retry
[18:46:36] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:46:36] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[18:46:36] [LIFECYCLE] WebRTC audio re-enabled
[18:46:36] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:46:36] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:46:36] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:46:36] [VIEWER] Reconnecting after background - querying agents
[18:46:36] [UNSENT_RETRY] Checking for unsent messages...
[18:46:36] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=2, sendStatus=0
[18:46:36] [PENDING_UPLOAD] Total pending upload messages: 1
[18:46:36] [UNSENT_RETRY] No unsent messages found
[18:46:36] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:46:36] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[18:46:36] [WS] Query connection error - cleaning up all agent connections and views
[18:46:36] [WS] Connection failed: The request timed out.
[18:46:36] [WS] Query connection failed - cleaning up all agent connections and views
[18:46:36] [CLEANUP] ========================================
[18:46:36] [CLEANUP] Cleaning up all agent connections and views
[18:46:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:46:36] [CLEANUP] Stopped and removed 0 video connections
[18:46:36] [CLEANUP] Removed 0 video views
[18:46:36] [CLEANUP] Removed 0 feed scroll views
[18:46:36] [CLEANUP] Removed 0 status labels
[18:46:36] [CLEANUP] Reset agent query state
[18:46:36] [CLEANUP] Updated page indicator
[18:46:36] [CLEANUP] Rebuilt video layout
[18:46:36] [CLEANUP] ✅ All agent connections and views cleaned up
[18:46:36] [CLEANUP] ========================================
[18:46:36] [SERVER] Starting reconnect polling (5s interval)
[18:46:36] [CLEANUP] ========================================
[18:46:36] [CLEANUP] Cleaning up all agent connections and views
[18:46:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:46:36] [CLEANUP] Stopped and removed 0 video connections
[18:46:36] [CLEANUP] Removed 0 video views
[18:46:36] [CLEANUP] Removed 0 feed scroll views
[18:46:36] [CLEANUP] Removed 0 status labels
[18:46:36] [CLEANUP] Reset agent query state
[18:46:36] [CLEANUP] Updated page indicator
[18:46:36] [CLEANUP] Rebuilt video layout
[18:46:36] [CLEANUP] ✅ All agent connections and views cleaned up
[18:46:36] [CLEANUP] ========================================
[18:46:36] [SERVER] Starting reconnect polling (5s interval)
[18:46:36] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=5
[18:46:36] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:46:36] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:46:36] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:36] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:46:36] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:46:36] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:46:36] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:46:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:46:36] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:46:36] [SCROLL] 💓 alive, visible=99...106, rows=107, estHeight=60.0, heightCalls=9
[18:46:36] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[18:46:36] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[18:46:36] [SECURITY] Within timeout - cleared background flag
[18:46:36] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:46:36] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:36] [PUSH] handlePollEventsNotification userInfo: [:]
[18:46:36] [PUSH] No message_id in userInfo
[18:46:36] [PUSH] No operation_type in userInfo
[18:46:36] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:46:36] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:46:36] [PUSH_TRACE] 📬 POLL: memory state: count=105, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:36] [FAST_REFRESH] Already have 105 messages in memory
[18:46:36] [FAST_REFRESH] maxMemoryId=23841, maxLocalId=23841
[18:46:36] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:46:36] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:46:36] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:46:36] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[18:46:36] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105
[18:46:36] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841
[18:46:36] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841
[18:46:37] [CLIENT_SIG] WebSocket opened
[18:46:37] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:46:37] [CLIENT_SIG] Connected! clientId=69QXRF-Qmi25zt_i
[18:46:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:46:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:46:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:46:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:37] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:46:37] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:46:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:46:37] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:46:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:46:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:46:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9
[18:46:37] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:46:37] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:46:37] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[18:46:37] [FOREGROUND] Enriched 0/2 unsettled messages with readBy data
[18:46:37] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=105>105=false, maxId=23841>23841=false, shouldScroll=false
[18:46:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:46:37] [INCREMENTAL_SYNC] ✅ No new messages
[18:46:37] [FAST_REFRESH] Incremental sync complete - 105 messages
[18:46:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=9
[18:46:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:46:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:46:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:37] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:46:37] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:46:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:46:37] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:46:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:46:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:46:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9
[18:46:37] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[18:46:37] [FAST_REFRESH] Enriched 2/2 unsettled messages with readBy data
[18:46:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:46:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=9
[18:46:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:46:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:46:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:37] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:46:37] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:46:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:46:37] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:46:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:46:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:46:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9
[18:46:37] [MENU] dismissAnyExistingMenu called
[18:46:37] [MENU] dismissAnyExistingMenu completed
[18:46:37] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=11
[18:46:38] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:46:38] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:46:38] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:46:38] HELLO → sent (cached token, role=query)
[18:46:38] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:46:38] [WS] Query connection failed - cleaning up all agent connections and views
[18:46:38] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:46:38] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:46:38] [CLEANUP] ========================================
[18:46:38] [CLEANUP] Cleaning up all agent connections and views
[18:46:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:46:38] [CLEANUP] Stopped and removed 0 video connections
[18:46:38] [CLEANUP] Removed 0 video views
[18:46:38] [CLEANUP] Removed 0 feed scroll views
[18:46:38] [CLEANUP] Removed 0 status labels
[18:46:38] [CLEANUP] Reset agent query state
[18:46:38] [CLEANUP] Updated page indicator
[18:46:38] [CLEANUP] Rebuilt video layout
[18:46:38] [CLEANUP] ✅ All agent connections and views cleaned up
[18:46:38] [CLEANUP] ========================================
[18:46:38] [SERVER] Starting reconnect polling (5s interval)
[18:46:38] [CLEANUP] ========================================
[18:46:38] [CLEANUP] Cleaning up all agent connections and views
[18:46:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:46:38] [CLEANUP] Stopped and removed 0 video connections
[18:46:38] [CLEANUP] Removed 0 video views
[18:46:38] [CLEANUP] Removed 0 feed scroll views
[18:46:38] [CLEANUP] Removed 0 status labels
[18:46:38] [CLEANUP] Reset agent query state
[18:46:38] [CLEANUP] Updated page indicator
[18:46:38] [CLEANUP] Rebuilt video layout
[18:46:38] [CLEANUP] ✅ All agent connections and views cleaned up
[18:46:38] [CLEANUP] ========================================
[18:46:38] [SERVER] Starting reconnect polling (5s interval)
[18:46:38] [LIFECYCLE] App resigning active - cleared crash flag
[18:46:39] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:46:39] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:46:39] [SECURITY] Saved background timestamp
[18:46:39] [LIFECYCLE] App entering background - cleared crash flag
[18:46:39] [CLIENT_SIG] Disconnecting
[18:46:39] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:46:39] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:46:39] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:46:39] [LIFECYCLE] Background snapshot: count=105, maxId=23841
[18:46:39] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:46:39] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:46:39] In cleanupPeer
[18:46:39] In cleanupPeer
[18:46:39] [LIFECYCLE] WebRTC audio disabled
[18:46:39] [LIFECYCLE] AVAudioSession deactivated
[18:46:39] [LIFECYCLE] All connections stopped
[18:46:39] [CLIENT_SIG] WebSocket closed with code 1001
[18:46:39] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:46:39] [SERVER] Stopped reconnect polling
[18:46:39] [WS] URLSession invalidated successfully
[18:46:39] Will request stop of video 0
[18:46:39] Will request stop of video 0
[18:46:39] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:46:39] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:46:39] [PIP] Removing 0 tracks from PiP for connection 0
[18:46:39] [PIP] ✅ All tracks removed for connection 0
[18:46:39] [PIP] Removing 0 tracks from PiP for connection 0
[18:46:39] [PIP] ✅ All tracks removed for connection 0
[18:47:53] [SECURITY] Timeout check: elapsed=74.04697799682617s, timeout=300.0s
[18:47:53] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:47:53] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:47:53] [LIFECYCLE] App entering foreground - restoring connections
[18:47:53] [PUSH_TRACE] 🔄 FOREGROUND: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:47:53] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:47:53] [UPLOAD_RETRY] No pending uploads to retry
[18:47:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:47:53] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[18:47:53] [LIFECYCLE] WebRTC audio re-enabled
[18:47:53] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:47:53] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:47:53] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:47:53] [VIEWER] Reconnecting after background - querying agents
[18:47:53] [UNSENT_RETRY] Checking for unsent messages...
[18:47:53] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=2, sendStatus=0
[18:47:53] [PENDING_UPLOAD] Total pending upload messages: 1
[18:47:53] [UNSENT_RETRY] No unsent messages found
[18:47:53] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:47:53] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:47:53] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:47:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=2
[18:47:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:47:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:47:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:47:53] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:47:53] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:47:53] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:47:53] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:47:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:47:53] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:47:53] [SCROLL] 💓 alive, visible=99...106, rows=107, estHeight=60.0, heightCalls=9
[18:47:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0
[18:47:53] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true
[18:47:53] [SECURITY] Within timeout - cleared background flag
[18:47:53] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:47:53] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:47:53] [PUSH] handlePollEventsNotification userInfo: [:]
[18:47:53] [PUSH] No message_id in userInfo
[18:47:53] [PUSH] No operation_type in userInfo
[18:47:53] [FAST_REFRESH] Evolution disabled - performing incremental sync
[18:47:53] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830]
[18:47:53] [PUSH_TRACE] 📬 POLL: memory state: count=105, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:47:53] [FAST_REFRESH] Already have 105 messages in memory
[18:47:53] [FAST_REFRESH] maxMemoryId=23841, maxLocalId=23841
[18:47:53] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[18:47:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:47:53] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[18:47:53] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[18:47:53] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105
[18:47:53] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841
[18:47:53] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841
[18:47:54] [CLIENT_SIG] WebSocket opened
[18:47:54] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:47:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:47:54] HELLO → sent (cached token, role=query)
[18:47:54] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0
[18:47:54] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:47:54] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:47:54] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:47:54] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:47:54] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:47:54] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:47:54] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:47:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:47:54] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:47:54] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9
[18:47:54] [CLIENT_SIG] Connected! clientId=BbWDwMRBWFdygiK3
[18:47:54] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[18:47:54] [FOREGROUND] Enriched 0/2 unsettled messages with readBy data
[18:47:54] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:47:54] [WS] Query connection failed - cleaning up all agent connections and views
[18:47:54] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:47:54] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:47:54] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=105>105=false, maxId=23841>23841=false, shouldScroll=false
[18:47:54] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:47:54] [CLEANUP] ========================================
[18:47:54] [CLEANUP] Cleaning up all agent connections and views
[18:47:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:47:54] [CLEANUP] Stopped and removed 0 video connections
[18:47:54] [CLEANUP] Removed 0 video views
[18:47:54] [CLEANUP] Removed 0 feed scroll views
[18:47:54] [CLEANUP] Removed 0 status labels
[18:47:54] [CLEANUP] Reset agent query state
[18:47:54] [CLEANUP] Updated page indicator
[18:47:54] [CLEANUP] Rebuilt video layout
[18:47:54] [CLEANUP] ✅ All agent connections and views cleaned up
[18:47:54] [CLEANUP] ========================================
[18:47:54] [SERVER] Starting reconnect polling (5s interval)
[18:47:54] [CLEANUP] ========================================
[18:47:54] [CLEANUP] Cleaning up all agent connections and views
[18:47:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:47:54] [CLEANUP] Stopped and removed 0 video connections
[18:47:54] [CLEANUP] Removed 0 video views
[18:47:54] [CLEANUP] Removed 0 feed scroll views
[18:47:54] [CLEANUP] Removed 0 status labels
[18:47:54] [CLEANUP] Reset agent query state
[18:47:54] [CLEANUP] Updated page indicator
[18:47:54] [CLEANUP] Rebuilt video layout
[18:47:54] [CLEANUP] ✅ All agent connections and views cleaned up
[18:47:54] [CLEANUP] ========================================
[18:47:54] [SERVER] Starting reconnect polling (5s interval)
[18:47:54] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:47:54] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:47:54] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[18:47:54] [FAST_REFRESH] Enriched 2/2 unsettled messages with readBy data
[18:47:54] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105
[18:47:54] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:47:54] [INCREMENTAL_SYNC] ✅ No new messages
[18:47:54] [FAST_REFRESH] Incremental sync complete - 105 messages
[18:47:54] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=9
[18:47:54] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:47:54] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages
[18:47:54] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:47:54] [RELOAD_TAB] 📊 Building chatRows from 105 messages
[18:47:54] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0
[18:47:54] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[18:47:54] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[18:47:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:47:54] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:47:54] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9
[18:47:54] [MENU] dismissAnyExistingMenu called
[18:47:54] [MENU] dismissAnyExistingMenu completed
[18:47:54] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=9
[18:47:55] [MENU] dismissAnyExistingMenu called
[18:47:55] [MENU] dismissAnyExistingMenu completed
[18:47:55] [MENU] dismissAnyExistingMenu called
[18:47:55] [MENU] dismissAnyExistingMenu completed
[18:47:55] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:47:55] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:47:55] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=6
[18:47:55] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:47:55] HELLO → sent (cached token, role=query)
[18:47:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:47:56] [WS] Query connection failed - cleaning up all agent connections and views
[18:47:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:47:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:47:56] [CLEANUP] ========================================
[18:47:56] [CLEANUP] Cleaning up all agent connections and views
[18:47:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:47:56] [CLEANUP] Stopped and removed 0 video connections
[18:47:56] [CLEANUP] Removed 0 video views
[18:47:56] [CLEANUP] Removed 0 feed scroll views
[18:47:56] [CLEANUP] Removed 0 status labels
[18:47:56] [CLEANUP] Reset agent query state
[18:47:56] [CLEANUP] Updated page indicator
[18:47:56] [CLEANUP] Rebuilt video layout
[18:47:56] [CLEANUP] ✅ All agent connections and views cleaned up
[18:47:56] [CLEANUP] ========================================
[18:47:56] [SERVER] Starting reconnect polling (5s interval)
[18:47:56] [CLEANUP] ========================================
[18:47:56] [CLEANUP] Cleaning up all agent connections and views
[18:47:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:47:56] [CLEANUP] Stopped and removed 0 video connections
[18:47:56] [CLEANUP] Removed 0 video views
[18:47:56] [CLEANUP] Removed 0 feed scroll views
[18:47:56] [CLEANUP] Removed 0 status labels
[18:47:56] [CLEANUP] Reset agent query state
[18:47:56] [CLEANUP] Updated page indicator
[18:47:56] [CLEANUP] Rebuilt video layout
[18:47:56] [CLEANUP] ✅ All agent connections and views cleaned up
[18:47:56] [CLEANUP] ========================================
[18:47:56] [SERVER] Starting reconnect polling (5s interval)
[18:47:57] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[18:47:57] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:47:57] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:47:57] HELLO → sent (cached token, role=query)
[18:47:57] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:47:57] [WS] Query connection failed - cleaning up all agent connections and views
[18:47:57] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[18:47:57] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[18:47:57] [CLEANUP] ========================================
[18:47:57] [CLEANUP] Cleaning up all agent connections and views
[18:47:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:47:57] [CLEANUP] Stopped and removed 0 video connections
[18:47:57] [CLEANUP] Removed 0 video views
[18:47:57] [CLEANUP] Removed 0 feed scroll views
[18:47:57] [CLEANUP] Removed 0 status labels
[18:47:57] [CLEANUP] Reset agent query state
[18:47:57] [CLEANUP] Updated page indicator
[18:47:57] [CLEANUP] Rebuilt video layout
[18:47:57] [CLEANUP] ✅ All agent connections and views cleaned up
[18:47:57] [CLEANUP] ========================================
[18:47:57] [SERVER] Starting reconnect polling (5s interval)
[18:47:57] [CLEANUP] ========================================
[18:47:57] [CLEANUP] Cleaning up all agent connections and views
[18:47:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:47:57] [CLEANUP] Stopped and removed 0 video connections
[18:47:57] [CLEANUP] Removed 0 video views
[18:47:57] [CLEANUP] Removed 0 feed scroll views
[18:47:57] [CLEANUP] Removed 0 status labels
[18:47:57] [CLEANUP] Reset agent query state
[18:47:57] [CLEANUP] Updated page indicator
[18:47:57] [CLEANUP] Rebuilt video layout
[18:47:57] [CLEANUP] ✅ All agent connections and views cleaned up
[18:47:57] [CLEANUP] ========================================
[18:47:57] [SERVER] Starting reconnect polling (5s interval)
[18:47:58] [LIFECYCLE] App resigning active - cleared crash flag
[18:47:59] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:47:59] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:47:59] [SECURITY] Saved background timestamp
[18:47:59] [LIFECYCLE] App entering background - cleared crash flag
[18:47:59] [CLIENT_SIG] Disconnecting
[18:47:59] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:47:59] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:47:59] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:47:59] [LIFECYCLE] Background snapshot: count=105, maxId=23841
[18:47:59] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[18:47:59] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:47:59] [CRASH] No crash detected
[18:47:59] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[18:47:59] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[18:47:59] [GIPHY] SDK not available - using REST API fallback
[18:47:59] [BACKGROUND] Background fetch enabled
[18:47:59] [SECURITY] Initial launch - within timeout (0.8827669620513916s < 300.0s)
[18:47:59] [AUTH] Starting PIN authentication
[18:47:59] [CLEANUP] No old timer messages to delete
[18:47:59] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[18:47:59] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:47:59] [PUSH] APNs token: 0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3
[18:48:00] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[18:48:00] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[18:48:00] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23841)...
[18:48:00] [CLIENT_SIG] WebSocket opened
[18:48:00] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[18:48:00] [CLIENT_SIG] Connected! clientId=UbHas6tStsd-_UeG
[18:48:00] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[18:48:00] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[18:48:00] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[18:48:00] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[18:48:00] [USER] ✅ User registered successfully
[18:48:00] [PUSH] User registration after token update: success
[18:48:00] [PRELOAD] No messages or parse error
[18:48:01] [PIN_AUTH] Correct PIN
[18:48:01] [SECURITY] Restored real session: ILUIWU
[18:48:01] [SECURITY] Restored real session: ILUIWU
[18:48:01] [SECURITY] Saved real session: ILUIWU
[18:48:01] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[18:48:01] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[18:48:01] [DB] 🔄 Reset 1 stuck upload statuses from 'uploading' to 'pending'
[18:48:01] [DB] 📤 Media with pending upload: msgId=23841, file=edc609c733fd329e.jpg, status=pending
[18:48:01] [DB] ⚠️ Found 1 media messages with incomplete uploads
[18:48:01] [UPLOAD_QUEUE] ✅ Database integrity check passed
[18:48:01] [UPLOAD_QUEUE] Active background tasks: 0
[18:48:01] [UPLOAD_QUEUE] ⏰ Stale upload: id=967, file=t_edc609c733fd329e.jpg, taskId=1, hasActiveTask=false, age=3min
[18:48:01] [UPLOAD_QUEUE] ⏰ Stale upload: id=968, file=edc609c733fd329e.jpg, taskId=2, hasActiveTask=false, age=2min
[18:48:01] [UPLOAD_METRICS] Task 1 metrics:
[18:48:01] [UPLOAD_METRICS] Total time: 183.78s
[18:48:01] [UPLOAD_METRICS] Network protocol: unknown
[18:48:01] [UPLOAD_METRICS] Proxy: no
[18:48:01] [UPLOAD_METRICS] Reused connection: no
[18:48:01] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=967, file=t_edc609c733fd329e.jpg
[18:48:01] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=968, file=edc609c733fd329e.jpg
[18:48:01] [UPLOAD_QUEUE] 🔄 Reset 2 stale uploads from 'uploading' to 'pending'
[18:48:01] [UPLOAD_TIMING] ⏱️ didCompleteWithError ENTERED at 2026-03-06 17:48:01 +0000
[18:48:01] [UPLOAD_COMPLETE] ========== Task Completed ==========
[18:48:01] [UPLOAD_COMPLETE] Task ID: 1
[18:48:01] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[18:48:01] Documents Directory: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents
[18:48:01] [UPLOAD_COMPLETE] ⚠️ No item found in activeUploads for task 1
[18:48:01] [UPLOAD_COMPLETE] Active uploads count: 0
[18:48:01] [UPLOAD_COMPLETE] Active task IDs: []
[18:48:01] [UPLOAD_METRICS] Task 2 metrics:
[18:48:01] [UPLOAD_METRICS] Total time: 163.00s
[18:48:01] [UPLOAD_METRICS] Network protocol: unknown
[18:48:01] [UPLOAD_METRICS] Proxy: no
[18:48:01] [UPLOAD_METRICS] Reused connection: no
[18:48:01] [UPLOAD_TIMING] ⏱️ didCompleteWithError ENTERED at 2026-03-06 17:48:01 +0000
[18:48:01] [UPLOAD_COMPLETE] ========== Task Completed ==========
[18:48:01] [UPLOAD_COMPLETE] Task ID: 2
[18:48:01] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed)
[18:48:01] [UPLOAD_COMPLETE] ⚠️ No item found in activeUploads for task 2
[18:48:01] [UPLOAD_COMPLETE] Active uploads count: 0
[18:48:01] [UPLOAD_COMPLETE] Active task IDs: []
[18:48:01] [UPLOAD_QUEUE] Found 2 pending uploads to resume
[18:48:01] [THEME] Applying current theme
[18:48:01] [CHAT] Applied day theme (mode: day)
[18:48:01] [SECURITY] Saved real session: ILUIWU
[18:48:01] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[18:48:01] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[18:48:01] [NETWORK] Network monitor started
[18:48:01] [NETWORK] Status changed: connected
[18:48:01] Did transition
[18:48:01] [DB_UPLOAD] 📥 Loaded media msg id=23841 with upload_status=1 (pending), file=edc609c733fd329e.jpg
[18:48:01] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[18:48:01] [VIEWER] Screen lock enabled - normal idle behavior
[18:48:01] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU
[18:48:01] [VCC] ========== VideoConnectionClass INIT ==========
[18:48:01] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[18:48:01] [DATA AUDIO] ========== setupWebRTC() START ==========
[18:48:01] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[18:48:01] [DATA AUDIO] Creating encoder/decoder factories...
[18:48:01] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[18:48:01] [CODEC] Viewer selected encoder: AV1 (best quality)
[18:48:01] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[18:48:01] [DATA AUDIO] ✅ Factory created
[18:48:01] [DATA AUDIO] RTCAudioSession locked
[18:48:01] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[18:48:01] [DATA AUDIO] RTCAudioSession unlocked
[18:48:01] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[18:48:01] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"]
[18:48:01] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[18:48:01] [WS] Opening session at ws://crivello.dyndns.org:8081/
[18:48:01] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[18:48:01] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[18:48:01] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[18:48:01] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[18:48:01] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[18:48:01] Did transition
[18:48:01] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[18:48:01] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[18:48:01] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[18:48:01] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[18:48:01] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[18:48:01] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[18:48:01] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55'
[18:48:01] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46'
[18:48:01] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34'
[18:48:01] [USER] ✅ User registered successfully
[18:48:01] [USER] User registration successful
[18:48:01] [GALLERY_DB] ✅ Loaded 778 media messages
[18:48:01] [MIGRATION] No messages need sender_name backfill
[18:48:01] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[18:48:01] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841
[18:48:01] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841
[18:48:01] [INCREMENTAL_SYNC] ✅ No new messages
[18:48:01] [GALLERY] Filtered 778 -> 735 (only with local thumbnails)
[18:48:01] [GALLERY] First 5 after sort (newest first):
[18:48:01] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg
[18:48:01] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg
[18:48:01] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg
[18:48:01] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg
[18:48:01] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov
[18:48:01] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0
[18:48:01] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[18:48:01] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[18:48:01] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:48:01] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[18:48:01] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:48:01] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[18:48:01] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[18:48:01] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[18:48:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[18:48:02] [SERVER] Starting reconnect polling (5s interval)
[18:48:02] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[18:48:02] [ICONS] Offset applied: -14.6
[18:48:02] [ICONS] New left margin: 11.2, New right margin: 11.3
[18:48:02] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[18:48:02] [READBY_ENRICH] Enriched 2/2 unsettled messages with readBy data
[18:48:02] [ICONS] Chat center: (31.2, 87.0)
[18:48:02] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[18:48:02] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[18:48:02] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[18:48:02] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[18:48:02] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[18:48:02] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[18:48:02] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[18:48:02] [ICONS] Screen width: 440.0
[18:48:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[18:48:02] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[18:48:02] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[18:48:02] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[18:48:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1
[18:48:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[18:48:02] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:48:02] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0
[18:48:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[18:48:02] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[18:48:02] [UNSENT_RETRY] Checking for unsent messages...
[18:48:02] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[18:48:02] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[18:48:02] [UPLOAD_RECOVERY] Session: ILUIWU
[18:48:02] [UPLOAD_RECOVERY] ⚠️ Found stuck upload: msgId=23841, file=edc609c733fd329e.jpg, reason=upload_status=pending
[18:48:02] [UPLOAD_RECOVERY] ✅ Local file exists: edc609c733fd329e.jpg
[18:48:02] new_session POST ok: token len=157
[18:48:02] HELLO → sent (fetched token, role=query)
[18:48:02] [UPLOAD_RECOVERY] 🔄 File not on server, re-uploading: edc609c733fd329e.jpg
[18:48:02] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[18:48:02] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[18:48:02] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg
[18:48:02] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[18:48:02] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[18:48:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=968, status=pending)
[18:48:02] [UPLOAD_RECOVERY] Found 1 messages with stuck/unsynced uploads
[18:48:02] [UPLOAD_RECOVERY] Checking recent media messages on server...
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=pending
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete
[18:48:02] [UPLOAD_RECOVERY] Verifying 9 media files exist on server...
[18:48:02] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=1, sendStatus=0
[18:48:02] [PENDING_UPLOAD] Total pending upload messages: 1
[18:48:02] [UNSENT_RETRY] No unsent messages found
[18:48:02] [UPLOAD_RECOVERY] ✅ Re-enqueued stuck upload: edc609c733fd329e.jpg
[18:48:02] [SIG] hello_ok received for query connection - ready to query agents
[18:48:02] [SIG] get_agents request sent for sessionId=ILUIWU
[18:48:02] [SIG] get_agents request sent for sessionId=iosILUIWU
[18:48:02] [SERVER] Stopped reconnect polling
[18:48:02] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg
[18:48:02] [SIG] agents_list received: []
[18:48:02] [SIG] agents_list received: []
[18:48:02] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files...
[18:48:02] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[18:48:02] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[18:48:02] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg
[18:48:02] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[18:48:02] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[18:48:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=968, status=pending)
[18:48:02] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg
[18:48:02] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=68
[18:48:02] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23841, 23840, 23839, 23838, 23837]
[18:48:02] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[18:48:02] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:48:02] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[18:48:02] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[18:48:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1
[18:48:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[18:48:02] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:48:02] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0
[18:48:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[18:48:02] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[18:48:02] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg
[18:48:02] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg
[18:48:02] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[18:48:02] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB
[18:48:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=967, status=pending)
[18:48:02] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg
[18:48:03] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[18:48:03] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[18:48:03] [UPLOAD_DEBUG] Item ID: 967
[18:48:03] [UPLOAD_DEBUG] Item ID: 968
[18:48:03] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg
[18:48:03] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg
[18:48:03] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg
[18:48:03] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg
[18:48:03] [UPLOAD_DEBUG] Session ID: ILUIWU
[18:48:03] [UPLOAD_DEBUG] Session ID: ILUIWU
[18:48:03] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[18:48:03] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[18:48:03] [UPLOAD_DEBUG] Retry count: 0
[18:48:03] [UPLOAD_DEBUG] Retry count: 0
[18:48:03] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[18:48:03] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[18:48:03] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading)
[18:48:03] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[0]: 1 → 2
[18:48:03] [UPLOAD_STATUS] 📝 Updated chatMessages[0]: status=2
[18:48:03] [UPLOAD_DEBUG] File exists: true
[18:48:03] [UPLOAD_STATUS] 📝 Updated chatRows[50]: status=2
[18:48:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:48:03] [UPLOAD_DEBUG] File exists: true
[18:48:03] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB)
[18:48:03] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[18:48:03] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:48:03] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[18:48:03] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB)
[18:48:03] [UPLOAD_STATUS] 🔄 Updated visible cell at row 50
[18:48:03] [UPLOAD_DEBUG] --- startStandardUpload ---
[18:48:03] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading)
[18:48:03] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[18:48:03] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[18:48:03] [UPLOAD_DEBUG] --- startStandardUpload ---
[18:48:03] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[18:48:03] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[18:48:03] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[18:48:03] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[18:48:03] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/24E6A84F-4665-471A-8BFB-1F99BBF7F37D.upload
[18:48:03] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/7782B495-0680-44DF-B19E-144D4B600E44.upload
[18:48:03] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes
[18:48:03] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[18:48:03] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes
[18:48:03] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[18:48:03] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg
[18:48:03] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[18:48:03] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg
[18:48:03] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[18:48:03] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes)
[18:48:03] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages
[18:48:03] [UPLOAD_DEBUG] Creating background upload task...
[18:48:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[18:48:03] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[18:48:03] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes)
[18:48:03] [UPLOAD_DEBUG] Creating background upload task...
[18:48:03] [UPLOAD_DEBUG] Task created with identifier: 3
[18:48:03] [UPLOAD_DEBUG] Added to activeUploads dictionary
[18:48:03] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[18:48:03] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=3 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0
[18:48:03] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[18:48:03] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[18:48:03] [UPLOAD_DEBUG] Task created with identifier: 4
[18:48:03] [UPLOAD_DEBUG] Added to activeUploads dictionary
[18:48:03] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[18:48:03] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=4 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0
[18:48:03] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[18:48:03] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[18:48:51] [LIFECYCLE] App resigning active - cleared crash flag
[18:48:51] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[18:48:51] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[18:48:51] [SECURITY] Saved background timestamp
[18:48:51] [LIFECYCLE] App entering background - cleared crash flag
[18:48:51] [CLIENT_SIG] Disconnecting
[18:48:51] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[18:48:51] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[18:48:51] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[18:48:51] [LIFECYCLE] Background snapshot: count=50, maxId=23841
[18:48:51] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[18:48:51] [WS] Canceling WebSocket for query connection to iosILUIWU
[18:48:51] In cleanupPeer
[18:48:51] In cleanupPeer
[18:48:51] [LIFECYCLE] WebRTC audio disabled
[18:48:51] [LIFECYCLE] AVAudioSession deactivated
[18:48:51] [LIFECYCLE] All connections stopped
[18:48:51] [CLIENT_SIG] WebSocket closed with code 1001
[18:48:51] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[18:48:51] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[18:48:51] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[18:48:51] [SERVER] Stopped reconnect polling
[18:48:51] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[18:48:51] [WS] Query connection error - cleaning up all agent connections and views
[18:48:51] Will request stop of video 0
[18:48:51] Will request stop of video 0
[18:48:51] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[18:48:51] [WS] Query connection failed - cleaning up all agent connections and views
[18:48:51] [CLEANUP] ========================================
[18:48:51] [CLEANUP] Cleaning up all agent connections and views
[18:48:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:48:51] [CLEANUP] Stopped and removed 0 video connections
[18:48:51] [CLEANUP] Removed 0 video views
[18:48:51] [CLEANUP] Removed 0 feed scroll views
[18:48:51] [CLEANUP] Removed 0 status labels
[18:48:51] [CLEANUP] Reset agent query state
[18:48:51] [CLEANUP] Updated page indicator
[18:48:51] [CLEANUP] Rebuilt video layout
[18:48:51] [CLEANUP] ✅ All agent connections and views cleaned up
[18:48:51] [CLEANUP] ========================================
[18:48:51] [SERVER] Skipping reconnect polling - app is in background
[18:48:51] [WS] URLSession invalidated successfully
[18:48:51] [PIP] Removing 0 tracks from PiP for connection 0
[18:48:51] [PIP] ✅ All tracks removed for connection 0
[18:48:51] [PIP] Removing 0 tracks from PiP for connection 0
[18:48:51] [PIP] ✅ All tracks removed for connection 0
[18:48:51] [CLEANUP] ========================================
[18:48:51] [CLEANUP] Cleaning up all agent connections and views
[18:48:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[18:48:51] [CLEANUP] Stopped and removed 0 video connections
[18:48:51] [CLEANUP] Removed 0 video views
[18:48:51] [CLEANUP] Removed 0 feed scroll views
[18:48:51] [CLEANUP] Removed 0 status labels
[18:48:51] [CLEANUP] Reset agent query state
[18:48:51] [CLEANUP] Updated page indicator
[18:48:51] [CLEANUP] Rebuilt video layout
[18:48:51] [CLEANUP] ✅ All agent connections and views cleaned up
[18:48:51] [CLEANUP] ========================================
[18:48:51] [SERVER] Skipping reconnect polling - app is in background
[19:01:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:01:13] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:01:13] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:01:14] [CLIENT_SIG] WebSocket opened
[19:01:14] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:01:14] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:01:14] HELLO → sent (cached token, role=query)
[19:01:14] [CLIENT_SIG] Connected! clientId=6a9_iigC6Imq5j5O
[19:01:14] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:01:14] [WS] Query connection failed - cleaning up all agent connections and views
[19:01:14] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:01:14] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:01:14] [CLEANUP] ========================================
[19:01:14] [CLEANUP] Cleaning up all agent connections and views
[19:01:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:01:14] [CLEANUP] Stopped and removed 0 video connections
[19:01:14] [CLEANUP] Removed 0 video views
[19:01:14] [CLEANUP] Removed 0 feed scroll views
[19:01:14] [CLEANUP] Removed 0 status labels
[19:01:14] [CLEANUP] Reset agent query state
[19:01:14] [CLEANUP] Updated page indicator
[19:01:14] [CLEANUP] Rebuilt video layout
[19:01:14] [CLEANUP] ✅ All agent connections and views cleaned up
[19:01:14] [CLEANUP] ========================================
[19:01:14] [SERVER] Skipping reconnect polling - app is in background
[19:01:14] [CLEANUP] ========================================
[19:01:14] [CLEANUP] Cleaning up all agent connections and views
[19:01:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:01:14] [CLEANUP] Stopped and removed 0 video connections
[19:01:14] [CLEANUP] Removed 0 video views
[19:01:14] [CLEANUP] Removed 0 feed scroll views
[19:01:14] [CLEANUP] Removed 0 status labels
[19:01:14] [CLEANUP] Reset agent query state
[19:01:14] [CLEANUP] Updated page indicator
[19:01:14] [CLEANUP] Rebuilt video layout
[19:01:14] [CLEANUP] ✅ All agent connections and views cleaned up
[19:01:14] [CLEANUP] ========================================
[19:01:14] [SERVER] Skipping reconnect polling - app is in background
[19:01:14] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:01:14] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:01:14] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[19:01:14] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:01:14] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <0AAA969F-1212-4086-9FBA-0D50F0967734>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0AAA969F-1212-4086-9FBA-0D50F0967734>.<1>}
[19:01:14] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:01:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:01:15] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:03:48] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:03:48] [PUSH] Silent push received
[19:03:48] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:03:48 +0000, appState=2, message_id=nil
[19:03:48] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[]
[19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:03:48 +0000
[19:03:48] [PUSH_EMBED] No embedded message_data in notification
[19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[19:03:48] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false
[19:03:48] [PUSH] No embedded data, pre-loading messages from server
[19:03:48] [PUSH_PRELOAD] Fetching messages for instant display cache
[19:03:48] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[19:03:48] [WS] Query connection error - cleaning up all agent connections and views
[19:03:48] [WS] Connection failed: The request timed out.
[19:03:48] [WS] Query connection failed - cleaning up all agent connections and views
[19:03:48] [CLEANUP] ========================================
[19:03:48] [CLEANUP] Cleaning up all agent connections and views
[19:03:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:03:48] [CLEANUP] Stopped and removed 0 video connections
[19:03:48] [CLEANUP] Removed 0 video views
[19:03:48] [CLEANUP] Removed 0 feed scroll views
[19:03:48] [CLEANUP] Removed 0 status labels
[19:03:48] [CLEANUP] Reset agent query state
[19:03:48] [CLEANUP] Updated page indicator
[19:03:48] [CLEANUP] Rebuilt video layout
[19:03:48] [CLEANUP] ✅ All agent connections and views cleaned up
[19:03:48] [CLEANUP] ========================================
[19:03:48] [SERVER] Skipping reconnect polling - app is in background
[19:03:48] [CLEANUP] ========================================
[19:03:48] [CLEANUP] Cleaning up all agent connections and views
[19:03:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:03:48] [CLEANUP] Stopped and removed 0 video connections
[19:03:48] [CLEANUP] Removed 0 video views
[19:03:48] [CLEANUP] Removed 0 feed scroll views
[19:03:48] [CLEANUP] Removed 0 status labels
[19:03:48] [CLEANUP] Reset agent query state
[19:03:48] [CLEANUP] Updated page indicator
[19:03:48] [CLEANUP] Rebuilt video layout
[19:03:48] [CLEANUP] ✅ All agent connections and views cleaned up
[19:03:48] [CLEANUP] ========================================
[19:03:48] [SERVER] Skipping reconnect polling - app is in background
[19:03:48] [PUSH] Silent push received
[19:03:48] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:03:48 +0000, appState=2, message_id=nil
[19:03:48] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[]
[19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:03:48 +0000
[19:03:48] [PUSH_EMBED] No embedded message_data in notification
[19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[19:03:48] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false
[19:03:48] [PUSH] No embedded data, pre-loading messages from server
[19:03:48] [PUSH_PRELOAD] Fetching messages for instant display cache
[19:03:48] [CLIENT_SIG] WebSocket opened
[19:03:48] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:03:48] [CLIENT_SIG] Connected! clientId=T73TXcnCiqX3cfLr
[19:03:48] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:03:48] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[19:03:48] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:03:48] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache
[19:03:48] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[19:03:48] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[19:03:48] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:03:48] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23841, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}]
[19:03:48] [PUSH] Parsed message_id: 23841
[19:03:48] [PUSH] Parsed operation_type: 3
[19:03:48] [PUSH] Taking direct action: opType=3, messageId=23841
[19:03:48] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23841
[19:03:48] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[19:03:48] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:03:48] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[19:03:48] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[19:03:48] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:03:48] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23840, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}]
[19:03:48] [PUSH] Parsed message_id: 23840
[19:03:48] [PUSH] Parsed operation_type: 3
[19:03:48] [PUSH] Taking direct action: opType=3, messageId=23840
[19:03:48] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23840
[19:03:49] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:03:49] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:03:50] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:03:50] HELLO → sent (cached token, role=query)
[19:03:50] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:03:50] [WS] Query connection failed - cleaning up all agent connections and views
[19:03:50] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:03:50] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:03:50] [CLEANUP] ========================================
[19:03:50] [CLEANUP] Cleaning up all agent connections and views
[19:03:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:03:50] [CLEANUP] Stopped and removed 0 video connections
[19:03:50] [CLEANUP] Removed 0 video views
[19:03:50] [CLEANUP] Removed 0 feed scroll views
[19:03:50] [CLEANUP] Removed 0 status labels
[19:03:50] [CLEANUP] Reset agent query state
[19:03:50] [CLEANUP] Updated page indicator
[19:03:50] [CLEANUP] Rebuilt video layout
[19:03:50] [CLEANUP] ✅ All agent connections and views cleaned up
[19:03:50] [CLEANUP] ========================================
[19:03:50] [SERVER] Skipping reconnect polling - app is in background
[19:03:50] [CLEANUP] ========================================
[19:03:50] [CLEANUP] Cleaning up all agent connections and views
[19:03:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:03:50] [CLEANUP] Stopped and removed 0 video connections
[19:03:50] [CLEANUP] Removed 0 video views
[19:03:50] [CLEANUP] Removed 0 feed scroll views
[19:03:50] [CLEANUP] Removed 0 status labels
[19:03:50] [CLEANUP] Reset agent query state
[19:03:50] [CLEANUP] Updated page indicator
[19:03:50] [CLEANUP] Rebuilt video layout
[19:03:50] [CLEANUP] ✅ All agent connections and views cleaned up
[19:03:50] [CLEANUP] ========================================
[19:03:50] [SERVER] Skipping reconnect polling - app is in background
[19:05:22] [BACKGROUND] Background fetch triggered
[19:05:22] [BACKGROUND] Fetching recent messages for pre-cache
[19:05:22] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:22] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:05:22] [PUSH] Silent push received
[19:05:22] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:05:22 +0000, appState=2, message_id=23842
[19:05:22] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:05:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:05:22 +0000
[19:05:22] [PUSH_TRACE] ⬇️ Processing embedded message_id=23842
[19:05:22] [PUSH_EMBED] 📩 Received embedded message: id=23842, type=0, sender=Esra
[19:05:22] [PUSH_TRACE] ⬇️ Message details: text="Actually, that’s not that bad, but somehow the sto...", datesent=2026-03-06 18:05:19
[19:05:22] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[19:05:22] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23842
[19:05:22] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23842
[19:05:22] [PUSH_EMBED] ✅ Saved message 23842 to local DB (sync)
[19:05:22] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23842
[19:05:22] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23842
[19:05:22] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23842
[19:05:22] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832]
[19:05:22] [PUSH_EMBED] Inserted message 23842 into existing cache (now 51 messages)
[19:05:22] [PUSH_TRACE] 📦 ✅ Inserted message 23842, cache now has IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:22] [PUSH_TRACE] 📦 EXITING cache update queue for message 23842
[19:05:22] [PUSH_EMBED] Fetching evolution data for message 23842 in background
[19:05:22] [PUSH_EMBED] ✅ Fully processed message 23842
[19:05:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23842
[19:05:22] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833], handled=true
[19:05:22] [PUSH] Embedded message handled instantly from silent push
[19:05:22] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[19:05:22] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23842
[19:05:22] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[19:05:22] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:05:22] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <22A314FE-6FE0-42AF-A7C6-181893F2135F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <22A314FE-6FE0-42AF-A7C6-181893F2135F>.<1>}
[19:05:22] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:05:22] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[19:05:22] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[19:05:22] [PUSH_TRACE] 👁️ Received message id=23842, text="Actually, that’s not that bad,..."
[19:05:22] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[19:05:22] [PUSH_TRACE] 👁️ BEFORE insert: 50 messages, first 5 IDs: [23841, 23840, 23839, 23838, 23837]
[19:05:22] [PUSH_TRACE] 👁️ Inserted message 23842 at index 0
[19:05:22] [PUSH_UI] Inserted message 23842 into UI (now 51 messages)
[19:05:22] [PUSH_TRACE] 👁️ AFTER insert: 51 messages, first 5 IDs: [23842, 23841, 23840, 23839, 23838]
[19:05:22] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:05:22] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[19:05:22] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): {
datesent = "2026-03-06 18:05:19";
"file_name" = "";
message = "Actually, that\U2019s not that bad, but somehow the story didn\U2019t grab me";
"message_id" = 23842;
"message_type" = 0;
"prev_session_message_id" = 23841;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23842]
[19:05:22] [PUSH_EMBED_VC] Message 23842 already in memory - skipping
[19:05:22] [PUSH] ⚡ Embedded message handled directly in ViewController
[19:05:22] [PUSH] Parsed message_id: 23842
[19:05:22] [PUSH] Parsed operation_type: 0
[19:05:22] [PUSH] Taking direct action: opType=0, messageId=23842
[19:05:22] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23842
[19:05:22] [PUSH] ⚡ Message 23842 already in memory - skipping duplicate notification entirely
[19:05:22] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=59
[19:05:22] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:05:22] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[19:05:22] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:22] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[19:05:22] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[19:05:22] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[19:05:22] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[19:05:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:05:22] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[19:05:22] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23841 → 23842
[19:05:22] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61
[19:05:22] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:22] HELLO → sent (cached token, role=query)
[19:05:22] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:05:22] [WS] Query connection failed - cleaning up all agent connections and views
[19:05:22] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:05:22] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:05:22] [CLEANUP] ========================================
[19:05:22] [CLEANUP] Cleaning up all agent connections and views
[19:05:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:22] [CLEANUP] Stopped and removed 0 video connections
[19:05:22] [CLEANUP] Removed 0 video views
[19:05:22] [CLEANUP] Removed 0 feed scroll views
[19:05:22] [CLEANUP] Removed 0 status labels
[19:05:22] [CLEANUP] Reset agent query state
[19:05:22] [CLEANUP] Updated page indicator
[19:05:22] [CLEANUP] Rebuilt video layout
[19:05:22] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:22] [CLEANUP] ========================================
[19:05:22] [SERVER] Skipping reconnect polling - app is in background
[19:05:22] [CLEANUP] ========================================
[19:05:22] [CLEANUP] Cleaning up all agent connections and views
[19:05:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:22] [CLEANUP] Stopped and removed 0 video connections
[19:05:22] [CLEANUP] Removed 0 video views
[19:05:22] [CLEANUP] Removed 0 feed scroll views
[19:05:22] [CLEANUP] Removed 0 status labels
[19:05:22] [CLEANUP] Reset agent query state
[19:05:22] [CLEANUP] Updated page indicator
[19:05:22] [CLEANUP] Rebuilt video layout
[19:05:22] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:22] [CLEANUP] ========================================
[19:05:22] [SERVER] Skipping reconnect polling - app is in background
[19:05:23] [BACKGROUND] Fetched 50 messages - saving to DB and pre-caching
[19:05:23] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[19:05:23] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:23] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:23] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23792]
[19:05:23] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23792]
[19:05:23] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:23] [BACKGROUND] Pre-cached 51 ChatMessage objects for instant display (preserved 1 from push)
[19:05:23] [PUSH_EMBED] Got evolution data for message 23842, saving to local DB
[19:05:23] [PUSH_EMBED] Saved evolution data for message 23842
[19:05:23] [BACKGROUND] Pre-downloaded 0 thumbnails
[19:05:23] [BACKGROUND] ✅ Background fetch complete with thumbnail pre-download
[19:05:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:24] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:05:24] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:24] HELLO → sent (cached token, role=query)
[19:05:24] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:05:24] [WS] Query connection failed - cleaning up all agent connections and views
[19:05:24] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:05:24] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:05:24] [CLEANUP] ========================================
[19:05:24] [CLEANUP] Cleaning up all agent connections and views
[19:05:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:24] [CLEANUP] Stopped and removed 0 video connections
[19:05:24] [CLEANUP] Removed 0 video views
[19:05:24] [CLEANUP] Removed 0 feed scroll views
[19:05:24] [CLEANUP] Removed 0 status labels
[19:05:24] [CLEANUP] Reset agent query state
[19:05:24] [CLEANUP] Updated page indicator
[19:05:24] [CLEANUP] Rebuilt video layout
[19:05:24] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:24] [CLEANUP] ========================================
[19:05:24] [SERVER] Skipping reconnect polling - app is in background
[19:05:24] [CLEANUP] ========================================
[19:05:24] [CLEANUP] Cleaning up all agent connections and views
[19:05:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:24] [CLEANUP] Stopped and removed 0 video connections
[19:05:24] [CLEANUP] Removed 0 video views
[19:05:24] [CLEANUP] Removed 0 feed scroll views
[19:05:24] [CLEANUP] Removed 0 status labels
[19:05:24] [CLEANUP] Reset agent query state
[19:05:24] [CLEANUP] Updated page indicator
[19:05:24] [CLEANUP] Rebuilt video layout
[19:05:24] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:24] [CLEANUP] ========================================
[19:05:24] [SERVER] Skipping reconnect polling - app is in background
[19:05:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:26] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:05:26] [BACKGROUND] Background fetch triggered
[19:05:26] [BACKGROUND] Fetching recent messages for pre-cache
[19:05:26] [PUSH] Silent push received
[19:05:26] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:05:26 +0000, appState=2, message_id=nil
[19:05:26] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:26] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:05:26 +0000
[19:05:26] [PUSH_EMBED] No embedded message_data in notification
[19:05:26] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[19:05:26] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833], handled=false
[19:05:26] [PUSH] No embedded data, pre-loading messages from server
[19:05:26] [PUSH_PRELOAD] Fetching messages for instant display cache
[19:05:26] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:05:26] [BACKGROUND] Fetched 50 messages - saving to DB and pre-caching
[19:05:26] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:26] HELLO → sent (cached token, role=query)
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:26] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23792]
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23792]
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:26] [BACKGROUND] Pre-cached 51 ChatMessage objects for instant display (preserved 1 from push)
[19:05:26] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:05:26] [WS] Query connection failed - cleaning up all agent connections and views
[19:05:26] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:05:26] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:05:26] [CLEANUP] ========================================
[19:05:26] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[19:05:26] [CLEANUP] Cleaning up all agent connections and views
[19:05:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:26] [CLEANUP] Stopped and removed 0 video connections
[19:05:26] [CLEANUP] Removed 0 video views
[19:05:26] [CLEANUP] Removed 0 feed scroll views
[19:05:26] [CLEANUP] Removed 0 status labels
[19:05:26] [CLEANUP] Reset agent query state
[19:05:26] [CLEANUP] Updated page indicator
[19:05:26] [CLEANUP] Rebuilt video layout
[19:05:26] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:26] [CLEANUP] ========================================
[19:05:26] [SERVER] Skipping reconnect polling - app is in background
[19:05:26] [CLEANUP] ========================================
[19:05:26] [CLEANUP] Cleaning up all agent connections and views
[19:05:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:26] [CLEANUP] Stopped and removed 0 video connections
[19:05:26] [CLEANUP] Removed 0 video views
[19:05:26] [CLEANUP] Removed 0 feed scroll views
[19:05:26] [CLEANUP] Removed 0 status labels
[19:05:26] [CLEANUP] Reset agent query state
[19:05:26] [CLEANUP] Updated page indicator
[19:05:26] [CLEANUP] Rebuilt video layout
[19:05:26] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:26] [CLEANUP] ========================================
[19:05:26] [SERVER] Skipping reconnect polling - app is in background
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:26] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23792]
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23792]
[19:05:26] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:26] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push)
[19:05:26] [BACKGROUND] Pre-downloaded 0 thumbnails
[19:05:26] [BACKGROUND] ✅ Background fetch complete with thumbnail pre-download
[19:05:26] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[19:05:27] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:05:27] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23842]
[19:05:27] [PUSH] Parsed message_id: 23842
[19:05:27] [PUSH] Parsed operation_type: 3
[19:05:27] [PUSH] Taking direct action: opType=3, messageId=23842
[19:05:27] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23842
[19:05:27] [CLIENT_SIG] WebSocket opened
[19:05:27] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:05:27] [CLIENT_SIG] Connected! clientId=jivMn4OMF0tnZ_y-
[19:05:27] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:05:27] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[19:05:27] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:05:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:28] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:05:28] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:28] HELLO → sent (cached token, role=query)
[19:05:28] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:05:28] [WS] Query connection failed - cleaning up all agent connections and views
[19:05:28] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:05:28] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:05:28] [CLEANUP] ========================================
[19:05:28] [CLEANUP] Cleaning up all agent connections and views
[19:05:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:28] [CLEANUP] Stopped and removed 0 video connections
[19:05:28] [CLEANUP] Removed 0 video views
[19:05:28] [CLEANUP] Removed 0 feed scroll views
[19:05:28] [CLEANUP] Removed 0 status labels
[19:05:28] [CLEANUP] Reset agent query state
[19:05:28] [CLEANUP] Updated page indicator
[19:05:28] [CLEANUP] Rebuilt video layout
[19:05:28] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:28] [CLEANUP] ========================================
[19:05:28] [SERVER] Skipping reconnect polling - app is in background
[19:05:28] [CLEANUP] ========================================
[19:05:28] [CLEANUP] Cleaning up all agent connections and views
[19:05:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:28] [CLEANUP] Stopped and removed 0 video connections
[19:05:28] [CLEANUP] Removed 0 video views
[19:05:28] [CLEANUP] Removed 0 feed scroll views
[19:05:28] [CLEANUP] Removed 0 status labels
[19:05:28] [CLEANUP] Reset agent query state
[19:05:28] [CLEANUP] Updated page indicator
[19:05:28] [CLEANUP] Rebuilt video layout
[19:05:28] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:28] [CLEANUP] ========================================
[19:05:28] [SERVER] Skipping reconnect polling - app is in background
[19:05:30] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:30] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:05:32] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:32] HELLO → sent (cached token, role=query)
[19:05:32] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:05:32] [WS] Query connection failed - cleaning up all agent connections and views
[19:05:32] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:05:32] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:05:32] [CLEANUP] ========================================
[19:05:32] [CLEANUP] Cleaning up all agent connections and views
[19:05:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:32] [CLEANUP] Stopped and removed 0 video connections
[19:05:32] [CLEANUP] Removed 0 video views
[19:05:32] [CLEANUP] Removed 0 feed scroll views
[19:05:32] [CLEANUP] Removed 0 status labels
[19:05:32] [CLEANUP] Reset agent query state
[19:05:32] [CLEANUP] Updated page indicator
[19:05:32] [CLEANUP] Rebuilt video layout
[19:05:32] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:32] [CLEANUP] ========================================
[19:05:32] [SERVER] Skipping reconnect polling - app is in background
[19:05:32] [CLEANUP] ========================================
[19:05:32] [CLEANUP] Cleaning up all agent connections and views
[19:05:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:32] [CLEANUP] Stopped and removed 0 video connections
[19:05:32] [CLEANUP] Removed 0 video views
[19:05:32] [CLEANUP] Removed 0 feed scroll views
[19:05:32] [CLEANUP] Removed 0 status labels
[19:05:32] [CLEANUP] Reset agent query state
[19:05:32] [CLEANUP] Updated page indicator
[19:05:32] [CLEANUP] Rebuilt video layout
[19:05:32] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:32] [CLEANUP] ========================================
[19:05:32] [SERVER] Skipping reconnect polling - app is in background
[19:05:34] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:34] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:05:34] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:05:34] HELLO → sent (cached token, role=query)
[19:05:34] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:05:34] [WS] Query connection failed - cleaning up all agent connections and views
[19:05:34] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:05:34] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:05:34] [CLEANUP] ========================================
[19:05:34] [CLEANUP] Cleaning up all agent connections and views
[19:05:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:34] [CLEANUP] Stopped and removed 0 video connections
[19:05:34] [CLEANUP] Removed 0 video views
[19:05:34] [CLEANUP] Removed 0 feed scroll views
[19:05:34] [CLEANUP] Removed 0 status labels
[19:05:34] [CLEANUP] Reset agent query state
[19:05:34] [CLEANUP] Updated page indicator
[19:05:34] [CLEANUP] Rebuilt video layout
[19:05:34] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:34] [CLEANUP] ========================================
[19:05:34] [SERVER] Skipping reconnect polling - app is in background
[19:05:34] [CLEANUP] ========================================
[19:05:34] [CLEANUP] Cleaning up all agent connections and views
[19:05:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:05:34] [CLEANUP] Stopped and removed 0 video connections
[19:05:34] [CLEANUP] Removed 0 video views
[19:05:34] [CLEANUP] Removed 0 feed scroll views
[19:05:34] [CLEANUP] Removed 0 status labels
[19:05:34] [CLEANUP] Reset agent query state
[19:05:34] [CLEANUP] Updated page indicator
[19:05:34] [CLEANUP] Rebuilt video layout
[19:05:34] [CLEANUP] ✅ All agent connections and views cleaned up
[19:05:34] [CLEANUP] ========================================
[19:05:34] [SERVER] Skipping reconnect polling - app is in background
[19:05:41] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[19:05:41] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU')
[19:07:59] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:07:59] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:07:59] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
[19:07:59] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:07:59] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <6DC225E3-DF0F-4941-8F51-FBFCF4AB686A>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6DC225E3-DF0F-4941-8F51-FBFCF4AB686A>.<1>}
[19:07:59] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:08:01] [SECURITY] Timeout check: elapsed=1150.469650030136s, timeout=300.0s
[19:08:01] [SECURITY] sceneWillEnterForeground - timeout exceeded, showing lock screen immediately
[19:08:01] [AUTH] ✅ All guards passed, showing privacy cover
[19:08:01] [LIFECYCLE] App entering foreground - restoring connections
[19:08:01] [PUSH_TRACE] 🔄 FOREGROUND: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:01] [PUSH_TRACE] 🔄 FOREGROUND: cache has 51 msgs, valid=true, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:01] [LIFECYCLE] Away > 2 minutes (1150s) - will scroll to bottom
[19:08:01] [UPLOAD_RETRY] No pending uploads to retry
[19:08:01] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:08:01] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[19:08:01] [LIFECYCLE] WebRTC audio re-enabled
[19:08:01] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[19:08:01] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[19:08:01] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:08:01] [VIEWER] Reconnecting after background - querying agents
[19:08:01] [UNSENT_RETRY] Checking for unsent messages...
[19:08:01] [PENDING_UPLOAD] Total pending upload messages: 0
[19:08:01] [UNSENT_RETRY] No unsent messages found
[19:08:01] [PUSH] Notification tapped - session_id: ILUIWU
[19:08:01] [PUSH] Max message_id before tap: 23842
[19:08:01] [PUSH] Stored pending session: ILUIWU
[19:08:01] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:08:01 +0000
[19:08:01] [PUSH_TRACE] ⬇️ Processing embedded message_id=23842
[19:08:01] [PUSH_EMBED] 📩 Received embedded message: id=23842, type=0, sender=Esra
[19:08:01] [PUSH_TRACE] ⬇️ Message details: text="Actually, that’s not that bad, but somehow the sto...", datesent=2026-03-06 18:05:19
[19:08:01] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[19:08:01] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23842
[19:08:01] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23842
[19:08:01] [PUSH_EMBED] ✅ Saved message 23842 to local DB (sync)
[19:08:01] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23842
[19:08:01] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23842
[19:08:01] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23842
[19:08:01] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:01] [PUSH_TRACE] 📦 ⚠️ Message 23842 already in cache, skipping insert
[19:08:01] [PUSH_TRACE] 📦 EXITING cache update queue for message 23842
[19:08:01] [PUSH_EMBED] Fetching evolution data for message 23842 in background
[19:08:01] [PUSH_EMBED] ✅ Fully processed message 23842
[19:08:01] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23842
[19:08:01] [PUSH] Embedded message handled instantly on tap
[19:08:01] [PUSH] Fetching server messages since_id=23842 to catch coalesced notifications on tap
[19:08:01] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:01] HELLO → sent (cached token, role=query)
[19:08:01] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[19:08:01] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[19:08:01] [PUSH_TRACE] 👁️ Received message id=23842, text="Actually, that’s not that bad,..."
[19:08:01] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[19:08:01] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23842 to catch coalesced notifications
[19:08:01] [PUSH_UI] Message 23842 already in memory - skipping insert
[19:08:01] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[19:08:01] [PUSH_PRELOAD] Fetching messages for instant display cache
[19:08:01] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:01] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:01] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:01] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:01] [CLEANUP] ========================================
[19:08:01] [CLEANUP] Cleaning up all agent connections and views
[19:08:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:01] [CLEANUP] Stopped and removed 0 video connections
[19:08:01] [CLEANUP] Removed 0 video views
[19:08:01] [CLEANUP] Removed 0 feed scroll views
[19:08:01] [CLEANUP] Removed 0 status labels
[19:08:01] [CLEANUP] Reset agent query state
[19:08:01] [CLEANUP] Updated page indicator
[19:08:01] [CLEANUP] Rebuilt video layout
[19:08:01] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:01] [CLEANUP] ========================================
[19:08:01] [SERVER] Starting reconnect polling (5s interval)
[19:08:01] [CLEANUP] ========================================
[19:08:01] [CLEANUP] Cleaning up all agent connections and views
[19:08:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:01] [CLEANUP] Stopped and removed 0 video connections
[19:08:01] [CLEANUP] Removed 0 video views
[19:08:01] [CLEANUP] Removed 0 feed scroll views
[19:08:01] [CLEANUP] Removed 0 status labels
[19:08:01] [CLEANUP] Reset agent query state
[19:08:01] [CLEANUP] Updated page indicator
[19:08:01] [CLEANUP] Rebuilt video layout
[19:08:01] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:01] [CLEANUP] ========================================
[19:08:01] [SERVER] Starting reconnect polling (5s interval)
[19:08:01] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=61
[19:08:01] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:08:01] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[19:08:01] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:01] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[19:08:01] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[19:08:01] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[19:08:01] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[19:08:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:08:01] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[19:08:01] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61
[19:08:02] [CLIENT_SIG] WebSocket opened
[19:08:02] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:08:02] [CLIENT_SIG] Connected! clientId=pTcIcrc2RRLMb82B
[19:08:02] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[19:08:02] [FOREGROUND] Enriched 2/2 unsettled messages with readBy data
[19:08:02] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=51>50=true, maxId=23842>23841=true, shouldScroll=true
[19:08:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:08:02] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:08:02] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:08:02] [PUSH_EMBED] Got evolution data for message 23842, saving to local DB
[19:08:02] [PUSH_EMBED] Saved evolution data for message 23842
[19:08:02] [PUSH_PRELOAD] No messages or parse error
[19:08:02] [PUSH] Server fetch on tap completed (success=false)
[19:08:02] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:02] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-06 18:05:19";
"file_name" = "";
message = "Actually, that\U2019s not that bad, but somehow the story didn\U2019t grab me";
"message_id" = 23842;
"message_type" = 0;
"prev_session_message_id" = 23841;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23842]
[19:08:02] [PUSH_EMBED_VC] Message 23842 already in memory - skipping
[19:08:02] [PUSH] ⚡ Embedded message handled directly in ViewController
[19:08:02] [PUSH] Parsed message_id: 23842
[19:08:02] [PUSH] Parsed operation_type: 0
[19:08:02] [PUSH] Taking direct action: opType=0, messageId=23842
[19:08:02] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23842
[19:08:02] [PUSH] ⚡ Message 23842 already in memory - skipping duplicate notification entirely
[19:08:02] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=61
[19:08:02] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:08:02] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[19:08:02] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:02] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[19:08:02] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[19:08:02] [SCROLL] 💓 alive, visible=45...51, rows=52, estHeight=0.0, heightCalls=0
[19:08:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[19:08:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[19:08:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:08:02] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[19:08:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[19:08:02] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[19:08:02] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[19:08:02] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:02] [PUSH] handlePollEventsNotification userInfo: [:]
[19:08:02] [PUSH] No message_id in userInfo
[19:08:02] [PUSH] No operation_type in userInfo
[19:08:02] [FAST_REFRESH] Evolution disabled - performing incremental sync
[19:08:02] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:02] [PUSH_TRACE] 📬 POLL: memory state: count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:02] [FAST_REFRESH] Already have 51 messages in memory
[19:08:02] [FAST_REFRESH] maxMemoryId=23842, maxLocalId=23842
[19:08:02] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[19:08:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:08:02] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[19:08:02] [READBY_OPT] No message IDs to fetch - skipping server call
[19:08:02] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[19:08:02] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23842, maxMemoryId=23842
[19:08:02] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23842
[19:08:02] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[19:08:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:08:02] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:08:02] [INCREMENTAL_SYNC] ✅ No new messages
[19:08:02] [FAST_REFRESH] Incremental sync complete - 51 messages
[19:08:02] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=59
[19:08:02] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:08:02] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[19:08:02] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:02] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[19:08:02] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[19:08:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[19:08:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[19:08:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:08:02] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[19:08:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[19:08:03] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:03] [WS] Opening session at ws://crivello.dyndns.org:8081/[19:08:03] [LOG] Pruned 351 entries older than 3 hours
[19:08:03] [SECURITY] Restored real session: ILUIWU
[19:08:03] [SECURITY] Restored real session: ILUIWU
[19:08:03] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:08:03] [FAKE MODE] Exiting fake mode, restoring real session
[19:08:03] [SECURITY] Restored real session: ILUIWU
[19:08:03] [SECURITY] Saved real session: ILUIWU
[19:08:03] [FAKE MODE] ✅ Restored real session: ILUIWU
[19:08:03] [FAKE MODE] Loaded 50 messages (limited to page size)
[19:08:03] [READBY_OPT] No message IDs to fetch - skipping server call
[19:08:03] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[19:08:03] [AUTH] Cache had 51 messages, maxExistingId=23842, inserted 0 truly new
[19:08:03] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23841=true, shouldScroll=true
[19:08:03] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:08:03] [AUTH] UI update complete
[19:08:03] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[19:08:03] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:08:03] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:03] HELLO → sent (cached token, role=query)
[19:08:03] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[19:08:03] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[19:08:03] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data
[19:08:03] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:08:03] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:08:03] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:08:03] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:08:03] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:08:03] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=117
[19:08:03] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:03] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:03] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:03] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:03] [CLEANUP] ========================================
[19:08:03] [CLEANUP] Cleaning up all agent connections and views
[19:08:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:03] [CLEANUP] Stopped and removed 0 video connections
[19:08:03] [CLEANUP] Removed 0 video views
[19:08:03] [CLEANUP] Removed 0 feed scroll views
[19:08:03] [CLEANUP] Removed 0 status labels
[19:08:03] [CLEANUP] Reset agent query state
[19:08:03] [CLEANUP] Updated page indicator
[19:08:03] [CLEANUP] Rebuilt video layout
[19:08:03] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:03] [CLEANUP] ========================================
[19:08:03] [SERVER] Starting reconnect polling (5s interval)
[19:08:03] [CLEANUP] ========================================
[19:08:03] [CLEANUP] Cleaning up all agent connections and views
[19:08:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:03] [CLEANUP] Stopped and removed 0 video connections
[19:08:03] [CLEANUP] Removed 0 video views
[19:08:03] [CLEANUP] Removed 0 feed scroll views
[19:08:03] [CLEANUP] Removed 0 status labels
[19:08:03] [CLEANUP] Reset agent query state
[19:08:03] [CLEANUP] Updated page indicator
[19:08:03] [CLEANUP] Rebuilt video layout
[19:08:03] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:03] [CLEANUP] ========================================
[19:08:03] [SERVER] Starting reconnect polling (5s interval)
[19:08:03] [USER] ✅ User registered successfully
[19:08:03] [PUSH] User registration after token update: success
[19:08:03] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[19:08:03] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:08:03] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:08:03] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:03] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:08:03] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:08:03] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:08:03] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:08:03] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:08:03] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:08:05] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:05] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:08:05] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:05] HELLO → sent (cached token, role=query)
[19:08:05] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:05] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:05] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:05] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:05] [CLEANUP] ========================================
[19:08:05] [CLEANUP] Cleaning up all agent connections and views
[19:08:05] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:05] [CLEANUP] Stopped and removed 0 video connections
[19:08:05] [CLEANUP] Removed 0 video views
[19:08:05] [CLEANUP] Removed 0 feed scroll views
[19:08:05] [CLEANUP] Removed 0 status labels
[19:08:05] [CLEANUP] Reset agent query state
[19:08:05] [CLEANUP] Updated page indicator
[19:08:05] [CLEANUP] Rebuilt video layout
[19:08:05] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:05] [CLEANUP] ========================================
[19:08:05] [SERVER] Starting reconnect polling (5s interval)
[19:08:05] [CLEANUP] ========================================
[19:08:05] [CLEANUP] Cleaning up all agent connections and views
[19:08:05] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:05] [CLEANUP] Stopped and removed 0 video connections
[19:08:05] [CLEANUP] Removed 0 video views
[19:08:05] [CLEANUP] Removed 0 feed scroll views
[19:08:05] [CLEANUP] Removed 0 status labels
[19:08:05] [CLEANUP] Reset agent query state
[19:08:05] [CLEANUP] Updated page indicator
[19:08:05] [CLEANUP] Rebuilt video layout
[19:08:05] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:05] [CLEANUP] ========================================
[19:08:05] [SERVER] Starting reconnect polling (5s interval)
[19:08:07] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:07] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:08:07] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:07] HELLO → sent (cached token, role=query)
[19:08:07] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:07] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:07] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:07] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:07] [CLEANUP] ========================================
[19:08:07] [CLEANUP] Cleaning up all agent connections and views
[19:08:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:07] [CLEANUP] Stopped and removed 0 video connections
[19:08:07] [CLEANUP] Removed 0 video views
[19:08:07] [CLEANUP] Removed 0 feed scroll views
[19:08:07] [CLEANUP] Removed 0 status labels
[19:08:07] [CLEANUP] Reset agent query state
[19:08:07] [CLEANUP] Updated page indicator
[19:08:07] [CLEANUP] Rebuilt video layout
[19:08:07] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:07] [CLEANUP] ========================================
[19:08:07] [SERVER] Starting reconnect polling (5s interval)
[19:08:07] [CLEANUP] ========================================
[19:08:07] [CLEANUP] Cleaning up all agent connections and views
[19:08:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:07] [CLEANUP] Stopped and removed 0 video connections
[19:08:07] [CLEANUP] Removed 0 video views
[19:08:07] [CLEANUP] Removed 0 feed scroll views
[19:08:07] [CLEANUP] Removed 0 status labels
[19:08:07] [CLEANUP] Reset agent query state
[19:08:07] [CLEANUP] Updated page indicator
[19:08:07] [CLEANUP] Rebuilt video layout
[19:08:07] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:07] [CLEANUP] ========================================
[19:08:07] [SERVER] Starting reconnect polling (5s interval)
[19:08:07] [MENU] dismissAnyExistingMenu called
[19:08:07] [MENU] dismissAnyExistingMenu completed
[19:08:07] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=59
[19:08:08] [SCROLL_BTN] Showing button - 380pt from bottom > half 379pt
[19:08:08] [MENU] dismissAnyExistingMenu called
[19:08:08] [MENU] dismissAnyExistingMenu completed
[19:08:08] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:08:08] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:08:08] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:08:08] [SCROLL] 💓 alive, visible=45...50, rows=51, estHeight=0.0, heightCalls=19
[19:08:09] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:09] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:08:09] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:09] HELLO → sent (cached token, role=query)
[19:08:09] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:09] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:09] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:09] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:09] [CLEANUP] ========================================
[19:08:09] [CLEANUP] Cleaning up all agent connections and views
[19:08:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:09] [CLEANUP] Stopped and removed 0 video connections
[19:08:09] [CLEANUP] Removed 0 video views
[19:08:09] [CLEANUP] Removed 0 feed scroll views
[19:08:09] [CLEANUP] Removed 0 status labels
[19:08:09] [CLEANUP] Reset agent query state
[19:08:09] [CLEANUP] Updated page indicator
[19:08:09] [CLEANUP] Rebuilt video layout
[19:08:09] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:09] [CLEANUP] ========================================
[19:08:09] [SERVER] Starting reconnect polling (5s interval)
[19:08:09] [CLEANUP] ========================================
[19:08:09] [CLEANUP] Cleaning up all agent connections and views
[19:08:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:09] [CLEANUP] Stopped and removed 0 video connections
[19:08:09] [CLEANUP] Removed 0 video views
[19:08:09] [CLEANUP] Removed 0 feed scroll views
[19:08:09] [CLEANUP] Removed 0 status labels
[19:08:09] [CLEANUP] Reset agent query state
[19:08:09] [CLEANUP] Updated page indicator
[19:08:09] [CLEANUP] Rebuilt video layout
[19:08:09] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:09] [CLEANUP] ========================================
[19:08:09] [SERVER] Starting reconnect polling (5s interval)
[19:08:11] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:11] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:08:11] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:11] HELLO → sent (cached token, role=query)
[19:08:11] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:11] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:11] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:11] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:11] [CLEANUP] ========================================
[19:08:11] [CLEANUP] Cleaning up all agent connections and views
[19:08:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:11] [CLEANUP] Stopped and removed 0 video connections
[19:08:11] [CLEANUP] Removed 0 video views
[19:08:11] [CLEANUP] Removed 0 feed scroll views
[19:08:11] [CLEANUP] Removed 0 status labels
[19:08:11] [CLEANUP] Reset agent query state
[19:08:11] [CLEANUP] Updated page indicator
[19:08:11] [CLEANUP] Rebuilt video layout
[19:08:11] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:11] [CLEANUP] ========================================
[19:08:11] [SERVER] Starting reconnect polling (5s interval)
[19:08:11] [CLEANUP] ========================================
[19:08:11] [CLEANUP] Cleaning up all agent connections and views
[19:08:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:11] [CLEANUP] Stopped and removed 0 video connections
[19:08:11] [CLEANUP] Removed 0 video views
[19:08:11] [CLEANUP] Removed 0 feed scroll views
[19:08:11] [CLEANUP] Removed 0 status labels
[19:08:11] [CLEANUP] Reset agent query state
[19:08:11] [CLEANUP] Updated page indicator
[19:08:11] [CLEANUP] Rebuilt video layout
[19:08:11] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:11] [CLEANUP] ========================================
[19:08:11] [SERVER] Starting reconnect polling (5s interval)
[19:08:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:13] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:08:13] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:13] HELLO → sent (cached token, role=query)
[19:08:13] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:13] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:13] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:13] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:13] [CLEANUP] ========================================
[19:08:13] [CLEANUP] Cleaning up all agent connections and views
[19:08:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:13] [CLEANUP] Stopped and removed 0 video connections
[19:08:13] [CLEANUP] Removed 0 video views
[19:08:13] [CLEANUP] Removed 0 feed scroll views
[19:08:13] [CLEANUP] Removed 0 status labels
[19:08:13] [CLEANUP] Reset agent query state
[19:08:13] [CLEANUP] Updated page indicator
[19:08:13] [CLEANUP] Rebuilt video layout
[19:08:13] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:13] [CLEANUP] ========================================
[19:08:13] [SERVER] Starting reconnect polling (5s interval)
[19:08:13] [CLEANUP] ========================================
[19:08:13] [CLEANUP] Cleaning up all agent connections and views
[19:08:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:13] [CLEANUP] Stopped and removed 0 video connections
[19:08:13] [CLEANUP] Removed 0 video views
[19:08:13] [CLEANUP] Removed 0 feed scroll views
[19:08:13] [CLEANUP] Removed 0 status labels
[19:08:13] [CLEANUP] Reset agent query state
[19:08:13] [CLEANUP] Updated page indicator
[19:08:13] [CLEANUP] Rebuilt video layout
[19:08:13] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:13] [CLEANUP] ========================================
[19:08:13] [SERVER] Starting reconnect polling (5s interval)
[19:08:14] [LOCK] Lock button tapped - locking app immediately
[19:08:14] [LOCK] Received lock app notification
[19:08:14] [LIFECYCLE] App resigning active - cleared crash flag
[19:08:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:15] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:08:15] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:08:15] HELLO → sent (cached token, role=query)
[19:08:15] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:08:15] [WS] Query connection failed - cleaning up all agent connections and views
[19:08:15] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:08:15] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:08:15] [CLEANUP] ========================================
[19:08:15] [CLEANUP] Cleaning up all agent connections and views
[19:08:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:15] [CLEANUP] Stopped and removed 0 video connections
[19:08:15] [CLEANUP] Removed 0 video views
[19:08:15] [CLEANUP] Removed 0 feed scroll views
[19:08:15] [CLEANUP] Removed 0 status labels
[19:08:15] [CLEANUP] Reset agent query state
[19:08:15] [CLEANUP] Updated page indicator
[19:08:15] [CLEANUP] Rebuilt video layout
[19:08:15] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:15] [CLEANUP] ========================================
[19:08:15] [SERVER] Starting reconnect polling (5s interval)
[19:08:15] [CLEANUP] ========================================
[19:08:15] [CLEANUP] Cleaning up all agent connections and views
[19:08:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:08:15] [CLEANUP] Stopped and removed 0 video connections
[19:08:15] [CLEANUP] Removed 0 video views
[19:08:15] [CLEANUP] Removed 0 feed scroll views
[19:08:15] [CLEANUP] Removed 0 status labels
[19:08:15] [CLEANUP] Reset agent query state
[19:08:15] [CLEANUP] Updated page indicator
[19:08:15] [CLEANUP] Rebuilt video layout
[19:08:15] [CLEANUP] ✅ All agent connections and views cleaned up
[19:08:15] [CLEANUP] ========================================
[19:08:15] [SERVER] Starting reconnect polling (5s interval)
[19:08:15] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[19:08:15] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[19:08:15] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[19:08:15] [LIFECYCLE] App entering background - cleared crash flag
[19:08:15] [CLIENT_SIG] Disconnecting
[19:08:15] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[19:08:15] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[19:08:15] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:08:15] [LIFECYCLE] Background snapshot: count=50, maxId=23842
[19:08:15] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[19:08:15] [WS] Canceling WebSocket for query connection to iosILUIWU
[19:08:15] In cleanupPeer
[19:08:15] In cleanupPeer
[19:08:15] [LIFECYCLE] WebRTC audio disabled
[19:08:15] [LIFECYCLE] AVAudioSession deactivated
[19:08:15] [LIFECYCLE] All connections stopped
[19:08:15] [CLIENT_SIG] WebSocket closed with code 1001
[19:08:15] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:08:15] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[19:08:15] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:08:15] [SERVER] Stopped reconnect polling
[19:08:15] [WS] URLSession invalidated successfully
[19:08:15] Will request stop of video 0
[19:08:15] Will request stop of video 0
[19:08:15] [PIP] Removing 0 tracks from PiP for connection 0
[19:08:15] [PIP] ✅ All tracks removed for connection 0
[19:08:15] [PIP] Removing 0 tracks from PiP for connection 0
[19:08:15] [PIP] ✅ All tracks removed for connection 0
[19:09:07] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[19:09:07] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:09:07] [LIFECYCLE] App entering foreground - restoring connections
[19:09:07] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:07] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[]
[19:09:07] [UPLOAD_RETRY] No pending uploads to retry
[19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:07] [READBY_OPT] No message IDs to fetch - skipping server call
[19:09:07] [LIFECYCLE] WebRTC audio re-enabled
[19:09:07] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[19:09:07] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[19:09:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:09:07] [VIEWER] Reconnecting after background - querying agents
[19:09:07] [UNSENT_RETRY] Checking for unsent messages...
[19:09:07] [PENDING_UPLOAD] Total pending upload messages: 0
[19:09:07] [UNSENT_RETRY] No unsent messages found
[19:09:07] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:07] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:09:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:09:07] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data
[19:09:07] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false
[19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:09:07] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[19:09:07] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[19:09:07] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:07] [PUSH] handlePollEventsNotification userInfo: [:]
[19:09:07] [PUSH] No message_id in userInfo
[19:09:07] [PUSH] No operation_type in userInfo
[19:09:07] [FAST_REFRESH] Evolution disabled - performing incremental sync
[19:09:07] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[]
[19:09:07] [PUSH_TRACE] 📬 POLL: memory state: count=50, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:07] [FAST_REFRESH] Already have 50 messages in memory
[19:09:07] [FAST_REFRESH] maxMemoryId=23842, maxLocalId=23842
[19:09:07] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:09:07] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[19:09:07] [READBY_OPT] No message IDs to fetch - skipping server call
[19:09:07] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[19:09:07] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23842, maxMemoryId=23842
[19:09:07] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23842
[19:09:07] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:09:07] [CLIENT_SIG] WebSocket opened
[19:09:07] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:09:07] [CLIENT_SIG] Connected! clientId=26yicYQoMit1d5Kt
[19:09:07] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=2
[19:09:07] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:09:07] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:09:07] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:07] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:09:07] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:09:07] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:09:07] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:09:07] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:09:07] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:09:07] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:07] HELLO → sent (cached token, role=query)
[19:09:07] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:09:07] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:09:07] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:09:07] [WS] Query connection failed - cleaning up all agent connections and views
[19:09:07] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:09:07] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:09:07] [CLEANUP] ========================================
[19:09:07] [CLEANUP] Cleaning up all agent connections and views
[19:09:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:07] [CLEANUP] Stopped and removed 0 video connections
[19:09:07] [CLEANUP] Removed 0 video views
[19:09:07] [CLEANUP] Removed 0 feed scroll views
[19:09:07] [CLEANUP] Removed 0 status labels
[19:09:07] [CLEANUP] Reset agent query state
[19:09:07] [CLEANUP] Updated page indicator
[19:09:07] [CLEANUP] Rebuilt video layout
[19:09:07] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:07] [CLEANUP] ========================================
[19:09:07] [SERVER] Starting reconnect polling (5s interval)
[19:09:07] [CLEANUP] ========================================
[19:09:07] [CLEANUP] Cleaning up all agent connections and views
[19:09:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:07] [CLEANUP] Stopped and removed 0 video connections
[19:09:07] [CLEANUP] Removed 0 video views
[19:09:07] [CLEANUP] Removed 0 feed scroll views
[19:09:07] [CLEANUP] Removed 0 status labels
[19:09:07] [CLEANUP] Reset agent query state
[19:09:07] [CLEANUP] Updated page indicator
[19:09:07] [CLEANUP] Rebuilt video layout
[19:09:07] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:07] [CLEANUP] ========================================
[19:09:07] [SERVER] Starting reconnect polling (5s interval)
[19:09:07] [INCREMENTAL_SYNC] ✅ No new messages
[19:09:07] [FAST_REFRESH] Incremental sync complete - 50 messages
[19:09:08] [PIN_AUTH] Correct PIN
[19:09:08] [SECURITY] Restored real session: ILUIWU
[19:09:08] [SECURITY] Restored real session: ILUIWU
[19:09:09] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[19:09:09] [FAKE MODE] Exiting fake mode, restoring real session
[19:09:09] [SECURITY] Restored real session: ILUIWU
[19:09:09] [SECURITY] Saved real session: ILUIWU
[19:09:09] [FAKE MODE] ✅ Restored real session: ILUIWU
[19:09:09] [FAKE MODE] Loaded 50 messages (limited to page size)
[19:09:09] [READBY_OPT] No message IDs to fetch - skipping server call
[19:09:09] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[19:09:09] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false
[19:09:09] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:09] [AUTH] UI update complete
[19:09:09] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data
[19:09:09] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:09] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:09:09] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[19:09:09] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[19:09:09] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:09:09] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:09:09] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:09:09] [USER] ✅ User registered successfully
[19:09:09] [PUSH] User registration after token update: success
[19:09:09] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:09] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:09:09] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=116
[19:09:09] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:09:09] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:09:09] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:09] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:09:09] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:09:09] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:09:09] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:09:09] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:09:09] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:09:09] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:09] HELLO → sent (cached token, role=query)
[19:09:09] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:09:09] [WS] Query connection failed - cleaning up all agent connections and views
[19:09:09] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:09:09] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:09:09] [CLEANUP] ========================================
[19:09:09] [CLEANUP] Cleaning up all agent connections and views
[19:09:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:09] [CLEANUP] Stopped and removed 0 video connections
[19:09:09] [CLEANUP] Removed 0 video views
[19:09:09] [CLEANUP] Removed 0 feed scroll views
[19:09:09] [CLEANUP] Removed 0 status labels
[19:09:09] [CLEANUP] Reset agent query state
[19:09:09] [CLEANUP] Updated page indicator
[19:09:09] [CLEANUP] Rebuilt video layout
[19:09:09] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:09] [CLEANUP] ========================================
[19:09:09] [SERVER] Starting reconnect polling (5s interval)
[19:09:09] [CLEANUP] ========================================
[19:09:09] [CLEANUP] Cleaning up all agent connections and views
[19:09:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:09] [CLEANUP] Stopped and removed 0 video connections
[19:09:09] [CLEANUP] Removed 0 video views
[19:09:09] [CLEANUP] Removed 0 feed scroll views
[19:09:09] [CLEANUP] Removed 0 status labels
[19:09:09] [CLEANUP] Reset agent query state
[19:09:09] [CLEANUP] Updated page indicator
[19:09:09] [CLEANUP] Rebuilt video layout
[19:09:09] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:09] [CLEANUP] ========================================
[19:09:09] [SERVER] Starting reconnect polling (5s interval)
[19:09:09] [MENU] dismissAnyExistingMenu called
[19:09:09] [MENU] dismissAnyExistingMenu completed
[19:09:09] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=59
[19:09:10] [BOTTOM_PULL] Refreshing (not in windowed mode)
[19:09:10] [REFRESH_ALL] 🔄 refreshAllFromServer called from: editMessage, currentMsgCount=50
[19:09:10] [REFRESH_ALL] 📸 Captured 50 message IDs before request
[19:09:10] [REFRESH_ALL] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[19:09:10] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=6
[19:09:11] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:11] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:09:11] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:11] HELLO → sent (cached token, role=query)
[19:09:11] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:09:11] [WS] Query connection failed - cleaning up all agent connections and views
[19:09:11] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:09:11] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:09:11] [CLEANUP] ========================================
[19:09:11] [CLEANUP] Cleaning up all agent connections and views
[19:09:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:11] [CLEANUP] Stopped and removed 0 video connections
[19:09:11] [CLEANUP] Removed 0 video views
[19:09:11] [CLEANUP] Removed 0 feed scroll views
[19:09:11] [CLEANUP] Removed 0 status labels
[19:09:11] [CLEANUP] Reset agent query state
[19:09:11] [CLEANUP] Updated page indicator
[19:09:11] [CLEANUP] Rebuilt video layout
[19:09:11] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:11] [CLEANUP] ========================================
[19:09:11] [SERVER] Starting reconnect polling (5s interval)
[19:09:11] [CLEANUP] ========================================
[19:09:11] [CLEANUP] Cleaning up all agent connections and views
[19:09:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:11] [CLEANUP] Stopped and removed 0 video connections
[19:09:11] [CLEANUP] Removed 0 video views
[19:09:11] [CLEANUP] Removed 0 feed scroll views
[19:09:11] [CLEANUP] Removed 0 status labels
[19:09:11] [CLEANUP] Reset agent query state
[19:09:11] [CLEANUP] Updated page indicator
[19:09:11] [CLEANUP] Rebuilt video layout
[19:09:11] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:11] [CLEANUP] ========================================
[19:09:11] [SERVER] Starting reconnect polling (5s interval)
[19:09:11] [PENDING_UPLOAD] Total pending upload messages: 0
[19:09:11] [PENDING_UPLOAD] Preserved 0 pending messages before server refresh
[19:09:11] [TIMER] Preserving 4 played timer IDs before DB refresh
[19:09:11] [TIMER] Restored 4 played timer flags after DB refresh
[19:09:12] DOWNLOADIIING t_2425CB14-29B7-4D9F-AF75-DF547604ED9A.jpg
[19:09:12] DOWNLOADIIING t_A838C8A7-6ACB-4EC0-8A9C-B457DDC4006E.jpg
[19:09:12] DOWNLOADIIING t_203DADEC-DEED-4A33-908B-8F8E344461B1.jpg
[19:09:12] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_2425CB14-29B7-4D9F-AF75-DF547604ED9A.jpg
[19:09:12] DOWNLOADIIING t_1b1a78050ebe099b.jpg
[19:09:12] DOWNLOADIIING t_bae538c2a3076c11.jpg
[19:09:12] DOWNLOADIIING t_ee42d57ffd8ab767.jpg
[19:09:12] DOWNLOADIIING t_5cfd84d52271d308.jpg
[19:09:12] DOWNLOADIIING t_919f4df51be24b2c.jpg
[19:09:12] DOWNLOADIIING t_0f2dda66cccdeadf.jpg
[19:09:12] DOWNLOADIIING t_32675c319a37fee7.jpg
[19:09:12] DOWNLOADIIING t_a45f085b5a2c50aa.jpg
[19:09:12] DOWNLOADIIING t_7cd3ce3d7797eb3c.jpg
[19:09:12] DOWNLOADIIING t_abb65f630e55dc61.jpg
[19:09:12] DOWNLOADIIING t_2a4c7380908d6595.jpg
[19:09:12] DOWNLOADIIING t_1ee77a72ee5013e0.jpg
[19:09:12] DOWNLOADIIING t_02f48c94671cc64e.jpg
[19:09:12] DOWNLOADIIING t_d0fd8cabebf807d5.jpg
[19:09:13] DOWNLOADIIING t_364b0669ed2f3378.jpg
[19:09:13] DOWNLOADIIING t_7f3c34ff05eb7c95.jpg
[19:09:13] DOWNLOADIIING t_66e5f4c7c82fef18.jpg
[19:09:13] DOWNLOADIIING t_f4d9bbe2fc21d5ae.jpg
[19:09:13] DOWNLOADIIING t_e1d06c52c18e20ce.jpg
[19:09:13] DOWNLOADIIING t_722d39e0d91dd954.jpg
[19:09:13] DOWNLOADIIING t_97828ef5de49a612.jpg
[19:09:13] DOWNLOADIIING t_98986cbb2cd2ae48.jpg
[19:09:13] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=12524
[19:09:13] [REFRESH_ALL] 📊 Server returned 12524 messages
[19:09:13] [REFRESH_ALL] 📊 Final merge: server=12524, preserved=0, total=12524
[19:09:13] [REFRESH_ALL] 📊 Displaying 50 of 12524 messages, hasMore=true
[19:09:13] [IMAGE] refreshAllFromServer: set hasMoreMessages=true, offset=50
[19:09:13] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_A838C8A7-6ACB-4EC0-8A9C-B457DDC4006E.jpg
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_203DADEC-DEED-4A33-908B-8F8E344461B1.jpg
[19:09:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:13] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:09:13] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[19:09:13] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:09:13] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:09:13] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:13] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:09:13] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:09:13] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:09:13] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:09:13] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:09:13] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_1b1a78050ebe099b.jpg
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_ee42d57ffd8ab767.jpg
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_919f4df51be24b2c.jpg
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_a45f085b5a2c50aa.jpg
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_0f2dda66cccdeadf.jpg
[19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_bae538c2a3076c11.jpg
[19:09:13] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:13] HELLO → sent (cached token, role=query)
[19:09:13] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:09:13] [WS] Query connection failed - cleaning up all agent connections and views
[19:09:13] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:09:13] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:09:13] [CLEANUP] ========================================
[19:09:13] [CLEANUP] Cleaning up all agent connections and views
[19:09:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:13] [CLEANUP] Stopped and removed 0 video connections
[19:09:13] [CLEANUP] Removed 0 video views
[19:09:13] [CLEANUP] Removed 0 feed scroll views
[19:09:13] [CLEANUP] Removed 0 status labels
[19:09:13] [CLEANUP] Reset agent query state
[19:09:13] [CLEANUP] Updated page indicator
[19:09:13] [CLEANUP] Rebuilt video layout
[19:09:13] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:13] [CLEANUP] ========================================
[19:09:13] [SERVER] Starting reconnect polling (5s interval)
[19:09:13] [CLEANUP] ========================================
[19:09:13] [CLEANUP] Cleaning up all agent connections and views
[19:09:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:13] [CLEANUP] Stopped and removed 0 video connections
[19:09:13] [CLEANUP] Removed 0 video views
[19:09:13] [CLEANUP] Removed 0 feed scroll views
[19:09:13] [CLEANUP] Removed 0 status labels
[19:09:13] [CLEANUP] Reset agent query state
[19:09:13] [CLEANUP] Updated page indicator
[19:09:13] [CLEANUP] Rebuilt video layout
[19:09:13] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:13] [CLEANUP] ========================================
[19:09:13] [SERVER] Starting reconnect polling (5s interval)
[19:09:14] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_7cd3ce3d7797eb3c.jpg
[19:09:14] [MENU] dismissAnyExistingMenu called
[19:09:14] [MENU] dismissAnyExistingMenu completed
[19:09:14] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=59
[19:09:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:15] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:09:15] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_32675c319a37fee7.jpg
[19:09:15] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_5cfd84d52271d308.jpg
[19:09:15] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:15] HELLO → sent (cached token, role=query)
[19:09:15] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:09:15] [WS] Query connection failed - cleaning up all agent connections and views
[19:09:15] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:09:15] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:09:15] [CLEANUP] ========================================
[19:09:15] [CLEANUP] Cleaning up all agent connections and views
[19:09:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:15] [CLEANUP] Stopped and removed 0 video connections
[19:09:15] [CLEANUP] Removed 0 video views
[19:09:15] [CLEANUP] Removed 0 feed scroll views
[19:09:15] [CLEANUP] Removed 0 status labels
[19:09:15] [CLEANUP] Reset agent query state
[19:09:15] [CLEANUP] Updated page indicator
[19:09:15] [CLEANUP] Rebuilt video layout
[19:09:15] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:15] [CLEANUP] ========================================
[19:09:15] [SERVER] Starting reconnect polling (5s interval)
[19:09:15] [CLEANUP] ========================================
[19:09:15] [CLEANUP] Cleaning up all agent connections and views
[19:09:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:15] [CLEANUP] Stopped and removed 0 video connections
[19:09:15] [CLEANUP] Removed 0 video views
[19:09:15] [CLEANUP] Removed 0 feed scroll views
[19:09:15] [CLEANUP] Removed 0 status labels
[19:09:15] [CLEANUP] Reset agent query state
[19:09:15] [CLEANUP] Updated page indicator
[19:09:15] [CLEANUP] Rebuilt video layout
[19:09:15] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:15] [CLEANUP] ========================================
[19:09:15] [SERVER] Starting reconnect polling (5s interval)
[19:09:15] [LOCK] Lock button tapped - locking app immediately
[19:09:15] [LOCK] Received lock app notification
[19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_abb65f630e55dc61.jpg
[19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_2a4c7380908d6595.jpg
[19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_02f48c94671cc64e.jpg
[19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_1ee77a72ee5013e0.jpg
[19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_d0fd8cabebf807d5.jpg
[19:09:16] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:09:16] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:09:17] [LIFECYCLE] App resigning active - cleared crash flag
[19:09:17] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[19:09:17] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[19:09:17] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[19:09:17] [LIFECYCLE] App entering background - cleared crash flag
[19:09:17] [CLIENT_SIG] Disconnecting
[19:09:17] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[19:09:17] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[19:09:17] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:17] [LIFECYCLE] Background snapshot: count=50, maxId=23842
[19:09:17] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[19:09:17] [WS] Canceling WebSocket for query connection to iosILUIWU
[19:09:17] In cleanupPeer
[19:09:17] In cleanupPeer
[19:09:17] [LIFECYCLE] WebRTC audio disabled
[19:09:17] [LIFECYCLE] AVAudioSession deactivated
[19:09:17] [LIFECYCLE] All connections stopped
[19:09:17] [CLIENT_SIG] WebSocket closed with code 1001
[19:09:17] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:09:17] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[19:09:17] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:09:17] [SERVER] Stopped reconnect polling
[19:09:17] Will request stop of video 0
[19:09:17] Will request stop of video 0
[19:09:17] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[19:09:17] [WS] Query connection error - cleaning up all agent connections and views
[19:09:17] [WS] Connection failed: cancelled
[19:09:17] [WS] Query connection failed - cleaning up all agent connections and views
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_66e5f4c7c82fef18.jpg
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_364b0669ed2f3378.jpg
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_722d39e0d91dd954.jpg
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_7f3c34ff05eb7c95.jpg
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_f4d9bbe2fc21d5ae.jpg
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_97828ef5de49a612.jpg
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_98986cbb2cd2ae48.jpg
[19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_e1d06c52c18e20ce.jpg
[19:09:17] [PIP] Removing 0 tracks from PiP for connection 0
[19:09:17] [PIP] ✅ All tracks removed for connection 0
[19:09:17] [PIP] Removing 0 tracks from PiP for connection 0
[19:09:17] [PIP] ✅ All tracks removed for connection 0
[19:09:17] [CLEANUP] ========================================
[19:09:17] [CLEANUP] Cleaning up all agent connections and views
[19:09:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:17] [CLEANUP] Stopped and removed 0 video connections
[19:09:17] [CLEANUP] Removed 0 video views
[19:09:17] [CLEANUP] Removed 0 feed scroll views
[19:09:17] [CLEANUP] Removed 0 status labels
[19:09:17] [CLEANUP] Reset agent query state
[19:09:17] [CLEANUP] Updated page indicator
[19:09:17] [CLEANUP] Rebuilt video layout
[19:09:17] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:17] [CLEANUP] ========================================
[19:09:17] [SERVER] Skipping reconnect polling - app is in background
[19:09:17] [WS] URLSession invalidated successfully
[19:09:17] [CLEANUP] ========================================
[19:09:17] [CLEANUP] Cleaning up all agent connections and views
[19:09:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:09:17] [CLEANUP] Stopped and removed 0 video connections
[19:09:17] [CLEANUP] Removed 0 video views
[19:09:17] [CLEANUP] Removed 0 feed scroll views
[19:09:17] [CLEANUP] Removed 0 status labels
[19:09:17] [CLEANUP] Reset agent query state
[19:09:17] [CLEANUP] Updated page indicator
[19:09:17] [CLEANUP] Rebuilt video layout
[19:09:17] [CLEANUP] ✅ All agent connections and views cleaned up
[19:09:17] [CLEANUP] ========================================
[19:09:17] [SERVER] Skipping reconnect polling - app is in background
[19:09:17] ReloadData 14 (all 46 media thumbnails loaded) - applying tab 0 filtering
[19:09:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:09:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=2
[19:09:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:09:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:09:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:09:17] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:09:17] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:09:17] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:09:17] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:09:17] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:09:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:12:49] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:12:49] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:12:49] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:12:49] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[19:12:49] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:12:49] [LIFECYCLE] App entering foreground - restoring connections
[19:12:49] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:49] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[]
[19:12:49] [LIFECYCLE] Away > 2 minutes (212s) - will scroll to bottom
[19:12:49] [UPLOAD_RETRY] No pending uploads to retry
[19:12:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:12:49] [READBY_OPT] No message IDs to fetch - skipping server call
[19:12:49] [LIFECYCLE] WebRTC audio re-enabled
[19:12:49] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[19:12:49] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[19:12:49] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:12:49] [VIEWER] Reconnecting after background - querying agents
[19:12:49] [UNSENT_RETRY] Checking for unsent messages...
[19:12:49] [PENDING_UPLOAD] Total pending upload messages: 0
[19:12:49] [UNSENT_RETRY] No unsent messages found
[19:12:49] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data
[19:12:49] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:12:49] HELLO → sent (cached token, role=query)
[19:12:49] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=50>50=false, maxId=23842>23842=false, shouldScroll=true
[19:12:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:12:49] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:12:49] [CLIENT_SIG] WebSocket opened
[19:12:49] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:12:49] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:12:49] [WS] Query connection failed - cleaning up all agent connections and views
[19:12:49] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:12:49] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:12:49] [CLEANUP] ========================================
[19:12:49] [CLEANUP] Cleaning up all agent connections and views
[19:12:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:12:49] [CLEANUP] Stopped and removed 0 video connections
[19:12:49] [CLEANUP] Removed 0 video views
[19:12:49] [CLEANUP] Removed 0 feed scroll views
[19:12:49] [CLEANUP] Removed 0 status labels
[19:12:49] [CLEANUP] Reset agent query state
[19:12:49] [CLEANUP] Updated page indicator
[19:12:49] [CLEANUP] Rebuilt video layout
[19:12:49] [CLEANUP] ✅ All agent connections and views cleaned up
[19:12:49] [CLEANUP] ========================================
[19:12:49] [SERVER] Starting reconnect polling (5s interval)
[19:12:49] [CLEANUP] ========================================
[19:12:49] [CLEANUP] Cleaning up all agent connections and views
[19:12:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:12:49] [CLEANUP] Stopped and removed 0 video connections
[19:12:49] [CLEANUP] Removed 0 video views
[19:12:49] [CLEANUP] Removed 0 feed scroll views
[19:12:49] [CLEANUP] Removed 0 status labels
[19:12:49] [CLEANUP] Reset agent query state
[19:12:49] [CLEANUP] Updated page indicator
[19:12:49] [CLEANUP] Rebuilt video layout
[19:12:49] [CLEANUP] ✅ All agent connections and views cleaned up
[19:12:49] [CLEANUP] ========================================
[19:12:49] [SERVER] Starting reconnect polling (5s interval)
[19:12:49] [CLIENT_SIG] Connected! clientId=pK2NVlLcMVroUhWp
[19:12:49] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:12:49] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:12:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=58
[19:12:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:12:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:12:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:49] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:12:49] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:12:49] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:12:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:12:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:12:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:12:50] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[19:12:50] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[19:12:50] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[19:12:50] [LIFECYCLE] App entering background - cleared crash flag
[19:12:50] [CLIENT_SIG] Disconnecting
[19:12:50] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[19:12:50] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[19:12:50] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:50] [LIFECYCLE] Background snapshot: count=50, maxId=23842
[19:12:50] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[19:12:50] [WS] Canceling WebSocket for query connection to iosILUIWU
[19:12:50] In cleanupPeer
[19:12:50] In cleanupPeer
[19:12:50] [LIFECYCLE] WebRTC audio disabled
[19:12:50] [LIFECYCLE] AVAudioSession deactivated
[19:12:50] [LIFECYCLE] All connections stopped
[19:12:51] [CLIENT_SIG] WebSocket closed with code 1001
[19:12:51] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:12:51] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[19:12:51] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:12:51] [SERVER] Stopped reconnect polling
[19:12:51] Will request stop of video 0
[19:12:51] [WS] URLSession invalidated successfully
[19:12:51] Will request stop of video 0
[19:12:51] [PIP] Removing 0 tracks from PiP for connection 0
[19:12:51] [PIP] ✅ All tracks removed for connection 0
[19:12:51] [PIP] Removing 0 tracks from PiP for connection 0
[19:12:51] [PIP] ✅ All tracks removed for connection 0
[19:12:51] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:12:51] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:12:57] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[19:12:57] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:12:57] [LIFECYCLE] App entering foreground - restoring connections
[19:12:57] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:57] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[]
[19:12:57] [UPLOAD_RETRY] No pending uploads to retry
[19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:12:57] [READBY_OPT] No message IDs to fetch - skipping server call
[19:12:57] [LIFECYCLE] WebRTC audio re-enabled
[19:12:57] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[19:12:57] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[19:12:57] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:12:57] [VIEWER] Reconnecting after background - querying agents
[19:12:57] [UNSENT_RETRY] Checking for unsent messages...
[19:12:57] [PENDING_UPLOAD] Total pending upload messages: 0
[19:12:57] [UNSENT_RETRY] No unsent messages found
[19:12:57] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:12:57] [WS] Connection failed: The request timed out.
[19:12:57] [WS] Query connection failed - cleaning up all agent connections and views
[19:12:57] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[19:12:57] [WS] Query connection error - cleaning up all agent connections and views
[19:12:57] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data
[19:12:57] [CLEANUP] ========================================
[19:12:57] [CLEANUP] Cleaning up all agent connections and views
[19:12:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:12:57] [CLEANUP] Stopped and removed 0 video connections
[19:12:57] [CLEANUP] Removed 0 video views
[19:12:57] [CLEANUP] Removed 0 feed scroll views
[19:12:57] [CLEANUP] Removed 0 status labels
[19:12:57] [CLEANUP] Reset agent query state
[19:12:57] [CLEANUP] Updated page indicator
[19:12:57] [CLEANUP] Rebuilt video layout
[19:12:57] [CLEANUP] ✅ All agent connections and views cleaned up
[19:12:57] [CLEANUP] ========================================
[19:12:57] [SERVER] Starting reconnect polling (5s interval)
[19:12:57] [CLEANUP] ========================================
[19:12:57] [CLEANUP] Cleaning up all agent connections and views
[19:12:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:12:57] [CLEANUP] Stopped and removed 0 video connections
[19:12:57] [CLEANUP] Removed 0 video views
[19:12:57] [CLEANUP] Removed 0 feed scroll views
[19:12:57] [CLEANUP] Removed 0 status labels
[19:12:57] [CLEANUP] Reset agent query state
[19:12:57] [CLEANUP] Updated page indicator
[19:12:57] [CLEANUP] Rebuilt video layout
[19:12:57] [CLEANUP] ✅ All agent connections and views cleaned up
[19:12:57] [CLEANUP] ========================================
[19:12:57] [SERVER] Starting reconnect polling (5s interval)
[19:12:57] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false
[19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:12:57] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:12:57] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=58
[19:12:57] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:12:57] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:12:57] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:57] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:12:57] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:12:57] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:12:57] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:12:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:12:57] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:12:57] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[19:12:57] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[19:12:57] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:57] [PUSH] handlePollEventsNotification userInfo: [:]
[19:12:57] [PUSH] No message_id in userInfo
[19:12:57] [PUSH] No operation_type in userInfo
[19:12:57] [FAST_REFRESH] Evolution disabled - performing incremental sync
[19:12:57] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[]
[19:12:57] [PUSH_TRACE] 📬 POLL: memory state: count=50, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:57] [FAST_REFRESH] Already have 50 messages in memory
[19:12:57] [FAST_REFRESH] maxMemoryId=23842, maxLocalId=23842
[19:12:57] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:12:57] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[19:12:57] [READBY_OPT] No message IDs to fetch - skipping server call
[19:12:57] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[19:12:57] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23842, maxMemoryId=23842
[19:12:57] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23842
[19:12:57] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:12:57] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:12:57] [CLIENT_SIG] WebSocket opened
[19:12:57] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:12:57] [CLIENT_SIG] Connected! clientId=8O7coJYACpixtKs7
[19:12:57] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:12:57] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:12:57] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=58
[19:12:57] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:12:57] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:12:57] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:12:57] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:12:57] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:12:57] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:12:57] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:12:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:12:57] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:12:57] [INCREMENTAL_SYNC] ✅ No new messages
[19:12:57] [FAST_REFRESH] Incremental sync complete - 50 messages
[19:12:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:12:58] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:12:59] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:12:59] HELLO → sent (cached token, role=query)
[19:12:59] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:12:59] [WS] Query connection failed - cleaning up all agent connections and views
[19:12:59] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:12:59] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:12:59] [CLEANUP] ========================================
[19:12:59] [CLEANUP] Cleaning up all agent connections and views
[19:12:59] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:12:59] [CLEANUP] Stopped and removed 0 video connections
[19:12:59] [CLEANUP] Removed 0 video views
[19:12:59] [CLEANUP] Removed 0 feed scroll views
[19:12:59] [CLEANUP] Removed 0 status labels
[19:12:59] [CLEANUP] Reset agent query state
[19:12:59] [CLEANUP] Updated page indicator
[19:12:59] [CLEANUP] Rebuilt video layout
[19:12:59] [CLEANUP] ✅ All agent connections and views cleaned up
[19:12:59] [CLEANUP] ========================================
[19:12:59] [SERVER] Starting reconnect polling (5s interval)
[19:12:59] [CLEANUP] ========================================
[19:12:59] [CLEANUP] Cleaning up all agent connections and views
[19:12:59] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:12:59] [CLEANUP] Stopped and removed 0 video connections
[19:12:59] [CLEANUP] Removed 0 video views
[19:12:59] [CLEANUP] Removed 0 feed scroll views
[19:12:59] [CLEANUP] Removed 0 status labels
[19:12:59] [CLEANUP] Reset agent query state
[19:12:59] [CLEANUP] Updated page indicator
[19:12:59] [CLEANUP] Rebuilt video layout
[19:12:59] [CLEANUP] ✅ All agent connections and views cleaned up
[19:12:59] [CLEANUP] ========================================
[19:12:59] [SERVER] Starting reconnect polling (5s interval)[19:12:59] [LOG] Pruned 198 entries older than 3 hours
[19:12:59] [SECURITY] Restored real session: ILUIWU
[19:12:59] [SECURITY] Restored real session: ILUIWU
[19:13:00] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[19:13:00] [FAKE MODE] Exiting fake mode, restoring real session
[19:13:00] [SECURITY] Restored real session: ILUIWU
[19:13:00] [SECURITY] Saved real session: ILUIWU
[19:13:00] [FAKE MODE] ✅ Restored real session: ILUIWU
[19:13:00] [FAKE MODE] Loaded 50 messages (limited to page size)
[19:13:00] [READBY_OPT] No message IDs to fetch - skipping server call
[19:13:00] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[19:13:00] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false
[19:13:00] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:13:00] [AUTH] UI update complete
[19:13:00] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[19:13:00] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[19:13:00] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data
[19:13:00] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:13:00] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:13:00] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:13:00] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:13:00] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:13:00] [USER] ✅ User registered successfully
[19:13:00] [PUSH] User registration after token update: success
[19:13:00] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=116
[19:13:00] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838]
[19:13:00] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:13:00] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833]
[19:13:00] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:13:00] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:13:00] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:13:00] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:13:00] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:13:00] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:13:00] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:00] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:01] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=58
[19:13:01] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:01] HELLO → sent (cached token, role=query)
[19:13:01] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:01] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:01] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:01] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:01] [CLEANUP] ========================================
[19:13:01] [CLEANUP] Cleaning up all agent connections and views
[19:13:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:01] [CLEANUP] Stopped and removed 0 video connections
[19:13:01] [CLEANUP] Removed 0 video views
[19:13:01] [CLEANUP] Removed 0 feed scroll views
[19:13:01] [CLEANUP] Removed 0 status labels
[19:13:01] [CLEANUP] Reset agent query state
[19:13:01] [CLEANUP] Updated page indicator
[19:13:01] [CLEANUP] Rebuilt video layout
[19:13:01] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:01] [CLEANUP] ========================================
[19:13:01] [SERVER] Starting reconnect polling (5s interval)
[19:13:01] [CLEANUP] ========================================
[19:13:01] [CLEANUP] Cleaning up all agent connections and views
[19:13:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:01] [CLEANUP] Stopped and removed 0 video connections
[19:13:01] [CLEANUP] Removed 0 video views
[19:13:01] [CLEANUP] Removed 0 feed scroll views
[19:13:01] [CLEANUP] Removed 0 status labels
[19:13:01] [CLEANUP] Reset agent query state
[19:13:01] [CLEANUP] Updated page indicator
[19:13:01] [CLEANUP] Rebuilt video layout
[19:13:01] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:01] [CLEANUP] ========================================
[19:13:01] [SERVER] Starting reconnect polling (5s interval)
[19:13:02] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:02] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:03] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:03] HELLO → sent (cached token, role=query)
[19:13:03] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:03] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:03] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:03] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:03] [CLEANUP] ========================================
[19:13:03] [CLEANUP] Cleaning up all agent connections and views
[19:13:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:03] [CLEANUP] Stopped and removed 0 video connections
[19:13:03] [CLEANUP] Removed 0 video views
[19:13:03] [CLEANUP] Removed 0 feed scroll views
[19:13:03] [CLEANUP] Removed 0 status labels
[19:13:03] [CLEANUP] Reset agent query state
[19:13:03] [CLEANUP] Updated page indicator
[19:13:03] [CLEANUP] Rebuilt video layout
[19:13:03] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:03] [CLEANUP] ========================================
[19:13:03] [SERVER] Starting reconnect polling (5s interval)
[19:13:03] [CLEANUP] ========================================
[19:13:03] [CLEANUP] Cleaning up all agent connections and views
[19:13:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:03] [CLEANUP] Stopped and removed 0 video connections
[19:13:03] [CLEANUP] Removed 0 video views
[19:13:03] [CLEANUP] Removed 0 feed scroll views
[19:13:03] [CLEANUP] Removed 0 status labels
[19:13:03] [CLEANUP] Reset agent query state
[19:13:03] [CLEANUP] Updated page indicator
[19:13:03] [CLEANUP] Rebuilt video layout
[19:13:03] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:03] [CLEANUP] ========================================
[19:13:03] [SERVER] Starting reconnect polling (5s interval)
[19:13:04] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:04] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:04] HELLO → sent (cached token, role=query)
[19:13:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:04] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:04] [CLEANUP] ========================================
[19:13:04] [CLEANUP] Cleaning up all agent connections and views
[19:13:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:04] [CLEANUP] Stopped and removed 0 video connections
[19:13:04] [CLEANUP] Removed 0 video views
[19:13:04] [CLEANUP] Removed 0 feed scroll views
[19:13:04] [CLEANUP] Removed 0 status labels
[19:13:04] [CLEANUP] Reset agent query state
[19:13:04] [CLEANUP] Updated page indicator
[19:13:04] [CLEANUP] Rebuilt video layout
[19:13:04] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:04] [CLEANUP] ========================================
[19:13:04] [SERVER] Starting reconnect polling (5s interval)
[19:13:04] [CLEANUP] ========================================
[19:13:04] [CLEANUP] Cleaning up all agent connections and views
[19:13:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:04] [CLEANUP] Stopped and removed 0 video connections
[19:13:04] [CLEANUP] Removed 0 video views
[19:13:04] [CLEANUP] Removed 0 feed scroll views
[19:13:04] [CLEANUP] Removed 0 status labels
[19:13:04] [CLEANUP] Reset agent query state
[19:13:04] [CLEANUP] Updated page indicator
[19:13:04] [CLEANUP] Rebuilt video layout
[19:13:04] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:04] [CLEANUP] ========================================
[19:13:04] [SERVER] Starting reconnect polling (5s interval)
[19:13:06] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:06] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:06] HELLO → sent (cached token, role=query)
[19:13:06] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:06] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:06] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:06] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:06] [CLEANUP] ========================================
[19:13:06] [CLEANUP] Cleaning up all agent connections and views
[19:13:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:06] [CLEANUP] Stopped and removed 0 video connections
[19:13:06] [CLEANUP] Removed 0 video views
[19:13:06] [CLEANUP] Removed 0 feed scroll views
[19:13:06] [CLEANUP] Removed 0 status labels
[19:13:06] [CLEANUP] Reset agent query state
[19:13:06] [CLEANUP] Updated page indicator
[19:13:06] [CLEANUP] Rebuilt video layout
[19:13:06] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:06] [CLEANUP] ========================================
[19:13:06] [SERVER] Starting reconnect polling (5s interval)
[19:13:06] [CLEANUP] ========================================
[19:13:06] [CLEANUP] Cleaning up all agent connections and views
[19:13:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:06] [CLEANUP] Stopped and removed 0 video connections
[19:13:06] [CLEANUP] Removed 0 video views
[19:13:06] [CLEANUP] Removed 0 feed scroll views
[19:13:06] [CLEANUP] Removed 0 status labels
[19:13:06] [CLEANUP] Reset agent query state
[19:13:06] [CLEANUP] Updated page indicator
[19:13:06] [CLEANUP] Rebuilt video layout
[19:13:06] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:06] [CLEANUP] ========================================
[19:13:06] [SERVER] Starting reconnect polling (5s interval)
[19:13:08] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:08] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:08] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:08] HELLO → sent (cached token, role=query)
[19:13:08] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:08] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:08] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:08] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:08] [CLEANUP] ========================================
[19:13:08] [CLEANUP] Cleaning up all agent connections and views
[19:13:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:08] [CLEANUP] Stopped and removed 0 video connections
[19:13:08] [CLEANUP] Removed 0 video views
[19:13:08] [CLEANUP] Removed 0 feed scroll views
[19:13:08] [CLEANUP] Removed 0 status labels
[19:13:08] [CLEANUP] Reset agent query state
[19:13:08] [CLEANUP] Updated page indicator
[19:13:08] [CLEANUP] Rebuilt video layout
[19:13:08] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:08] [CLEANUP] ========================================
[19:13:08] [SERVER] Starting reconnect polling (5s interval)
[19:13:08] [CLEANUP] ========================================
[19:13:08] [CLEANUP] Cleaning up all agent connections and views
[19:13:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:08] [CLEANUP] Stopped and removed 0 video connections
[19:13:08] [CLEANUP] Removed 0 video views
[19:13:08] [CLEANUP] Removed 0 feed scroll views
[19:13:08] [CLEANUP] Removed 0 status labels
[19:13:08] [CLEANUP] Reset agent query state
[19:13:08] [CLEANUP] Updated page indicator
[19:13:08] [CLEANUP] Rebuilt video layout
[19:13:08] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:08] [CLEANUP] ========================================
[19:13:08] [SERVER] Starting reconnect polling (5s interval)
[19:13:10] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:10] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:10] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:10] HELLO → sent (cached token, role=query)
[19:13:10] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:10] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:10] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:10] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:10] [CLEANUP] ========================================
[19:13:10] [CLEANUP] Cleaning up all agent connections and views
[19:13:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:10] [CLEANUP] Stopped and removed 0 video connections
[19:13:10] [CLEANUP] Removed 0 video views
[19:13:10] [CLEANUP] Removed 0 feed scroll views
[19:13:10] [CLEANUP] Removed 0 status labels
[19:13:10] [CLEANUP] Reset agent query state
[19:13:10] [CLEANUP] Updated page indicator
[19:13:10] [CLEANUP] Rebuilt video layout
[19:13:10] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:10] [CLEANUP] ========================================
[19:13:10] [SERVER] Starting reconnect polling (5s interval)
[19:13:10] [CLEANUP] ========================================
[19:13:10] [CLEANUP] Cleaning up all agent connections and views
[19:13:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:10] [CLEANUP] Stopped and removed 0 video connections
[19:13:10] [CLEANUP] Removed 0 video views
[19:13:10] [CLEANUP] Removed 0 feed scroll views
[19:13:10] [CLEANUP] Removed 0 status labels
[19:13:10] [CLEANUP] Reset agent query state
[19:13:10] [CLEANUP] Updated page indicator
[19:13:10] [CLEANUP] Rebuilt video layout
[19:13:10] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:10] [CLEANUP] ========================================
[19:13:10] [SERVER] Starting reconnect polling (5s interval)
[19:13:12] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:12] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:12] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:12] HELLO → sent (cached token, role=query)
[19:13:12] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:12] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:12] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:12] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:12] [CLEANUP] ========================================
[19:13:12] [CLEANUP] Cleaning up all agent connections and views
[19:13:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:12] [CLEANUP] Stopped and removed 0 video connections
[19:13:12] [CLEANUP] Removed 0 video views
[19:13:12] [CLEANUP] Removed 0 feed scroll views
[19:13:12] [CLEANUP] Removed 0 status labels
[19:13:12] [CLEANUP] Reset agent query state
[19:13:12] [CLEANUP] Updated page indicator
[19:13:12] [CLEANUP] Rebuilt video layout
[19:13:12] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:12] [CLEANUP] ========================================
[19:13:12] [SERVER] Starting reconnect polling (5s interval)
[19:13:12] [CLEANUP] ========================================
[19:13:12] [CLEANUP] Cleaning up all agent connections and views
[19:13:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:12] [CLEANUP] Stopped and removed 0 video connections
[19:13:12] [CLEANUP] Removed 0 video views
[19:13:12] [CLEANUP] Removed 0 feed scroll views
[19:13:12] [CLEANUP] Removed 0 status labels
[19:13:12] [CLEANUP] Reset agent query state
[19:13:12] [CLEANUP] Updated page indicator
[19:13:12] [CLEANUP] Rebuilt video layout
[19:13:12] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:12] [CLEANUP] ========================================
[19:13:12] [SERVER] Starting reconnect polling (5s interval)
[19:13:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:13] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:14] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:14] HELLO → sent (cached token, role=query)
[19:13:14] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:14] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:14] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:14] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:14] [CLEANUP] ========================================
[19:13:14] [CLEANUP] Cleaning up all agent connections and views
[19:13:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:14] [CLEANUP] Stopped and removed 0 video connections
[19:13:14] [CLEANUP] Removed 0 video views
[19:13:14] [CLEANUP] Removed 0 feed scroll views
[19:13:14] [CLEANUP] Removed 0 status labels
[19:13:14] [CLEANUP] Reset agent query state
[19:13:14] [CLEANUP] Updated page indicator
[19:13:14] [CLEANUP] Rebuilt video layout
[19:13:14] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:14] [CLEANUP] ========================================
[19:13:14] [SERVER] Starting reconnect polling (5s interval)
[19:13:14] [CLEANUP] ========================================
[19:13:14] [CLEANUP] Cleaning up all agent connections and views
[19:13:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:14] [CLEANUP] Stopped and removed 0 video connections
[19:13:14] [CLEANUP] Removed 0 video views
[19:13:14] [CLEANUP] Removed 0 feed scroll views
[19:13:14] [CLEANUP] Removed 0 status labels
[19:13:14] [CLEANUP] Reset agent query state
[19:13:14] [CLEANUP] Updated page indicator
[19:13:14] [CLEANUP] Rebuilt video layout
[19:13:14] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:14] [CLEANUP] ========================================
[19:13:14] [SERVER] Starting reconnect polling (5s interval)
[19:13:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:15] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:16] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:16] HELLO → sent (cached token, role=query)
[19:13:16] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:16] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:16] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:16] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:16] [CLEANUP] ========================================
[19:13:16] [CLEANUP] Cleaning up all agent connections and views
[19:13:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:16] [CLEANUP] Stopped and removed 0 video connections
[19:13:16] [CLEANUP] Removed 0 video views
[19:13:16] [CLEANUP] Removed 0 feed scroll views
[19:13:16] [CLEANUP] Removed 0 status labels
[19:13:16] [CLEANUP] Reset agent query state
[19:13:16] [CLEANUP] Updated page indicator
[19:13:16] [CLEANUP] Rebuilt video layout
[19:13:16] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:16] [CLEANUP] ========================================
[19:13:16] [SERVER] Starting reconnect polling (5s interval)
[19:13:16] [CLEANUP] ========================================
[19:13:16] [CLEANUP] Cleaning up all agent connections and views
[19:13:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:16] [CLEANUP] Stopped and removed 0 video connections
[19:13:16] [CLEANUP] Removed 0 video views
[19:13:16] [CLEANUP] Removed 0 feed scroll views
[19:13:16] [CLEANUP] Removed 0 status labels
[19:13:16] [CLEANUP] Reset agent query state
[19:13:16] [CLEANUP] Updated page indicator
[19:13:16] [CLEANUP] Rebuilt video layout
[19:13:16] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:16] [CLEANUP] ========================================
[19:13:16] [SERVER] Starting reconnect polling (5s interval)
[19:13:17] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:17] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:18] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:18] HELLO → sent (cached token, role=query)
[19:13:18] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:18] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:18] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:18] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:18] [CLEANUP] ========================================
[19:13:18] [CLEANUP] Cleaning up all agent connections and views
[19:13:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:18] [CLEANUP] Stopped and removed 0 video connections
[19:13:18] [CLEANUP] Removed 0 video views
[19:13:18] [CLEANUP] Removed 0 feed scroll views
[19:13:18] [CLEANUP] Removed 0 status labels
[19:13:18] [CLEANUP] Reset agent query state
[19:13:18] [CLEANUP] Updated page indicator
[19:13:18] [CLEANUP] Rebuilt video layout
[19:13:18] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:18] [CLEANUP] ========================================
[19:13:18] [SERVER] Starting reconnect polling (5s interval)
[19:13:18] [CLEANUP] ========================================
[19:13:18] [CLEANUP] Cleaning up all agent connections and views
[19:13:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:18] [CLEANUP] Stopped and removed 0 video connections
[19:13:18] [CLEANUP] Removed 0 video views
[19:13:18] [CLEANUP] Removed 0 feed scroll views
[19:13:18] [CLEANUP] Removed 0 status labels
[19:13:18] [CLEANUP] Reset agent query state
[19:13:18] [CLEANUP] Updated page indicator
[19:13:18] [CLEANUP] Rebuilt video layout
[19:13:18] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:18] [CLEANUP] ========================================
[19:13:18] [SERVER] Starting reconnect polling (5s interval)
[19:13:19] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:19] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:20] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:20] HELLO → sent (cached token, role=query)
[19:13:20] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:20] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:20] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:20] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:20] [CLEANUP] ========================================
[19:13:20] [CLEANUP] Cleaning up all agent connections and views
[19:13:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:20] [CLEANUP] Stopped and removed 0 video connections
[19:13:20] [CLEANUP] Removed 0 video views
[19:13:20] [CLEANUP] Removed 0 feed scroll views
[19:13:20] [CLEANUP] Removed 0 status labels
[19:13:20] [CLEANUP] Reset agent query state
[19:13:20] [CLEANUP] Updated page indicator
[19:13:20] [CLEANUP] Rebuilt video layout
[19:13:20] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:20] [CLEANUP] ========================================
[19:13:20] [SERVER] Starting reconnect polling (5s interval)
[19:13:20] [CLEANUP] ========================================
[19:13:20] [CLEANUP] Cleaning up all agent connections and views
[19:13:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:20] [CLEANUP] Stopped and removed 0 video connections
[19:13:20] [CLEANUP] Removed 0 video views
[19:13:20] [CLEANUP] Removed 0 feed scroll views
[19:13:20] [CLEANUP] Removed 0 status labels
[19:13:20] [CLEANUP] Reset agent query state
[19:13:20] [CLEANUP] Updated page indicator
[19:13:20] [CLEANUP] Rebuilt video layout
[19:13:20] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:20] [CLEANUP] ========================================
[19:13:20] [SERVER] Starting reconnect polling (5s interval)
[19:13:20] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[19:13:20] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false
[19:13:20] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=51
[19:13:20] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[19:13:20] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-1, 23842, 23841, 23840, 23839]
[19:13:20] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[19:13:20] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:13:20] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[19:13:20] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[19:13:20] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:13:20] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:13:20] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:13:20] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=55
[19:13:20] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[19:13:20] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[19:13:20] [SCROLL] 💓 alive, visible=48...51, rows=52, estHeight=0.0, heightCalls=108
[19:13:21] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:21] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:13:21] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:13:21] HELLO → sent (cached token, role=query)
[19:13:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:13:21] [WS] Query connection failed - cleaning up all agent connections and views
[19:13:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:13:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:13:21] [CLEANUP] ========================================
[19:13:21] [CLEANUP] Cleaning up all agent connections and views
[19:13:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:21] [CLEANUP] Stopped and removed 0 video connections
[19:13:21] [CLEANUP] Removed 0 video views
[19:13:21] [CLEANUP] Removed 0 feed scroll views
[19:13:21] [CLEANUP] Removed 0 status labels
[19:13:21] [CLEANUP] Reset agent query state
[19:13:21] [CLEANUP] Updated page indicator
[19:13:21] [CLEANUP] Rebuilt video layout
[19:13:21] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:21] [CLEANUP] ========================================
[19:13:21] [SERVER] Starting reconnect polling (5s interval)
[19:13:21] [CLEANUP] ========================================
[19:13:21] [CLEANUP] Cleaning up all agent connections and views
[19:13:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:13:21] [CLEANUP] Stopped and removed 0 video connections
[19:13:21] [CLEANUP] Removed 0 video views
[19:13:21] [CLEANUP] Removed 0 feed scroll views
[19:13:21] [CLEANUP] Removed 0 status labels
[19:13:21] [CLEANUP] Reset agent query state
[19:13:21] [CLEANUP] Updated page indicator
[19:13:21] [CLEANUP] Rebuilt video layout
[19:13:21] [CLEANUP] ✅ All agent connections and views cleaned up
[19:13:21] [CLEANUP] ========================================
[19:13:21] [SERVER] Starting reconnect polling (5s interval)
[19:13:22] [LIFECYCLE] App resigning active - cleared crash flag
[19:13:22] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[19:13:22] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[19:13:22] [SECURITY] Saved background timestamp
[19:13:22] [LIFECYCLE] App entering background - cleared crash flag
[19:13:22] [CLIENT_SIG] Disconnecting
[19:13:22] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[19:13:22] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[19:13:22] [PUSH_TRACE] 💤 BACKGROUND: memory has 51 messages, first 10 IDs=[-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:13:22] [LIFECYCLE] Background snapshot: count=51, maxId=23842
[19:13:22] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[19:13:22] [WS] Canceling WebSocket for query connection to iosILUIWU
[19:13:22] In cleanupPeer
[19:13:22] In cleanupPeer
[19:13:22] [LIFECYCLE] WebRTC audio disabled
[19:13:22] [LIFECYCLE] AVAudioSession deactivated
[19:13:22] [LIFECYCLE] All connections stopped
[19:13:22] [CLIENT_SIG] WebSocket closed with code 1001
[19:13:22] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:13:22] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[19:13:22] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:13:22] [SERVER] Stopped reconnect polling
[19:13:22] [WS] URLSession invalidated successfully
[19:13:22] Will request stop of video 0
[19:13:22] Will request stop of video 0
[19:13:22] [PIP] Removing 0 tracks from PiP for connection 0
[19:13:22] [PIP] ✅ All tracks removed for connection 0
[19:13:22] [PIP] Removing 0 tracks from PiP for connection 0
[19:13:22] [PIP] ✅ All tracks removed for connection 0
[19:18:40] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x11896cba0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <BB201151-D2BA-4E56-8BE5-9DE2D59BEC9B>.<63>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <BB201151-D2BA-4E56-8BE5-9DE2D59BEC9B>.<63>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4}
[19:18:40] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:40] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:18:40] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:18:40] [CHAT] Network error detected - queuing for retry
[19:18:40] [SEND_STATUS] 💾 Updating DB: messageId=-1, status=3 (pending_retry)
[19:18:40] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-1
[19:18:40] [SEND_STATUS] ⏳ Message -1 marked as PENDING RETRY (waiting for network)
[19:18:40] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:40] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:40] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:42] [SECURITY] Timeout check: elapsed=320.3326530456543s, timeout=300.0s
[19:18:42] [SECURITY] sceneWillEnterForeground - timeout exceeded, showing lock screen immediately
[19:18:42] [AUTH] ✅ All guards passed, showing privacy cover
[19:18:42] [SCROLL] 💓 alive, visible=46...51, rows=52, estHeight=0.0, heightCalls=56
[19:18:42] [LIFECYCLE] App entering foreground - restoring connections
[19:18:42] [PUSH_TRACE] 🔄 FOREGROUND: memory has 51 msgs, IDs=[-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:42] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[]
[19:18:42] [LIFECYCLE] Away > 2 minutes (320s) - will scroll to bottom
[19:18:42] [UPLOAD_RETRY] No pending uploads to retry
[19:18:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:18:42] [READBY_OPT] No message IDs to fetch - skipping server call
[19:18:42] [LIFECYCLE] WebRTC audio re-enabled
[19:18:42] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[19:18:42] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[19:18:42] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:18:42] [VIEWER] Reconnecting after background - querying agents
[19:18:42] [FOREGROUND] 📶 Network available - retrying 1 pending messages: [-1]
[19:18:42] [RETRY] 🔄 Retrying 1 pending messages...
[19:18:42] [RETRY] 📤 Resending message -1 with original clientMessageId
[19:18:42] [SEND_STATUS] 💾 Updating DB: messageId=-1, status=1 (sending)
[19:18:42] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-1
[19:18:42] [UNSENT_RETRY] 🔑 Including client_message_id=E5734E02-29C9-472C-9C26-7C6802330CDC for idempotent retry
[19:18:42] [UNSENT_RETRY] 📤 Sending message id=-1 to server
[19:18:42] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:42] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:42] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:42] [UNSENT_RETRY] Checking for unsent messages... (excluding 1 already-retrying: [-1])
[19:18:42] [PENDING_UPLOAD] Found pending message: id=-1, file=, uploadStatus=0, sendStatus=1
[19:18:42] [PENDING_UPLOAD] Total pending upload messages: 1
[19:18:42] [UNSENT_RETRY] ⏭️ Skipping message id=-1 - already being retried by foreground retry
[19:18:42] [UNSENT_RETRY] ⏭️ Skipping stuck message id=-1 - already being retried by foreground retry
[19:18:42] [UNSENT_RETRY] No unsent messages found
[19:18:42] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:42] HELLO → sent (cached token, role=query)
[19:18:42] [CLIENT_SIG] WebSocket opened
[19:18:42] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:18:42] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data
[19:18:42] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=51>51=false, maxId=23842>23842=false, shouldScroll=true
[19:18:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:18:42] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:18:42] [CLIENT_SIG] Connected! clientId=tXj3YoT4ATM4Eg8x
[19:18:42] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:18:42] [WS] Query connection failed - cleaning up all agent connections and views
[19:18:42] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:18:42] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:18:42] [CLEANUP] ========================================
[19:18:42] [CLEANUP] Cleaning up all agent connections and views
[19:18:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:42] [CLEANUP] Stopped and removed 0 video connections
[19:18:42] [CLEANUP] Removed 0 video views
[19:18:42] [CLEANUP] Removed 0 feed scroll views
[19:18:42] [CLEANUP] Removed 0 status labels
[19:18:42] [CLEANUP] Reset agent query state
[19:18:42] [CLEANUP] Updated page indicator
[19:18:42] [CLEANUP] Rebuilt video layout
[19:18:42] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:42] [CLEANUP] ========================================
[19:18:42] [SERVER] Starting reconnect polling (5s interval)
[19:18:42] [CLEANUP] ========================================
[19:18:42] [CLEANUP] Cleaning up all agent connections and views
[19:18:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:42] [CLEANUP] Stopped and removed 0 video connections
[19:18:42] [CLEANUP] Removed 0 video views
[19:18:42] [CLEANUP] Removed 0 feed scroll views
[19:18:42] [CLEANUP] Removed 0 status labels
[19:18:42] [CLEANUP] Reset agent query state
[19:18:42] [CLEANUP] Updated page indicator
[19:18:42] [CLEANUP] Rebuilt video layout
[19:18:42] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:42] [CLEANUP] ========================================
[19:18:42] [SERVER] Starting reconnect polling (5s interval)
[19:18:42] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:18:42] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:18:42] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=61
[19:18:42] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-1, 23842, 23841, 23840, 23839]
[19:18:42] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[19:18:42] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:42] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[19:18:42] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[19:18:42] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:42] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:42] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:42] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:18:43] [UNSENT_RETRY] 📥 receive_message.php HTTP 200: {"ok":true,"message_id":23843,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 18:13:20","idempotent":true}
[19:18:43] [UNSENT_RETRY] ✅ Message synced (IDEMPOTENT - server already had it)! Old id=-1 → existing server id=23843
[19:18:43] [DB_UPGRADE] Upgrading message ID: -1 → 23843, preserveOriginalDate=true
[19:18:43] [DB_UPGRADE] ✅ Upgraded -1 → 23843 with send_status=0, 1 row(s) affected
[19:18:43] [UNSENT_RETRY] ✅ Updated chatMessages[0].id: -1 → 23843
[19:18:43] [UNSENT_RETRY] ✅ Updated allMessagesWithReadBy[0].id: -1 → 23843
[19:18:43] ReloadData unsent_retry
[19:18:43] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:43] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:43] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:43] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[19:18:43] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[19:18:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:43] [PUSH] handlePollEventsNotification userInfo: [:]
[19:18:43] [PUSH] No message_id in userInfo
[19:18:43] [PUSH] No operation_type in userInfo
[19:18:43] [FAST_REFRESH] Evolution disabled - performing incremental sync
[19:18:43] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[]
[19:18:43] [PUSH_TRACE] 📬 POLL: memory state: count=51, first 10 IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:43] [FAST_REFRESH] Already have 51 messages in memory
[19:18:43] [FAST_REFRESH] maxMemoryId=23843, maxLocalId=23843
[19:18:43] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[19:18:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:18:43] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[19:18:43] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[19:18:43] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[19:18:43] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23843, maxMemoryId=23843
[19:18:43] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23843
[19:18:43] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[19:18:43] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data
[19:18:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[19:18:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:18:43] [INCREMENTAL_SYNC] ✅ No new messages
[19:18:43] [FAST_REFRESH] Incremental sync complete - 51 messages
[19:18:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=116
[19:18:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23843, 23842, 23841, 23840, 23839]
[19:18:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[19:18:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:43] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[19:18:43] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[19:18:43] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:43] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:43] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58
[19:18:44] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:44] [WS] Opening session at ws://crivello.dyndns.org:8081/[19:18:44] [LOG] Pruned 355 entries older than 3 hours
[19:18:44] [SECURITY] Restored real session: ILUIWU
[19:18:44] [SECURITY] Restored real session: ILUIWU
[19:18:44] [FAKE MODE] Exiting fake mode, restoring real session
[19:18:44] [SECURITY] Restored real session: ILUIWU
[19:18:44] [SECURITY] Saved real session: ILUIWU
[19:18:44] [FAKE MODE] ✅ Restored real session: ILUIWU
[19:18:44] [FAKE MODE] Loaded 50 messages (limited to page size)
[19:18:44] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[19:18:44] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0}
[19:18:44] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[19:18:44] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[19:18:44] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>51=false, maxId=23843>23842=true, shouldScroll=true
[19:18:44] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:18:44] [AUTH] UI update complete
[19:18:44] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[19:18:44] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:18:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:44] HELLO → sent (cached token, role=query)
[19:18:44] [SCROLL] 💓 alive, visible=46...50, rows=51, estHeight=0.0, heightCalls=109
[19:18:44] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:44] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:44] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:44] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[19:18:44] [FAKE MODE] Enriched 1/1 unsettled messages with readBy data
[19:18:44] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:18:44] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:18:44] [USER] ✅ User registered successfully
[19:18:44] [PUSH] User registration after token update: success
[19:18:44] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:18:44] [WS] Query connection failed - cleaning up all agent connections and views
[19:18:44] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:18:44] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:18:44] [CLEANUP] ========================================
[19:18:44] [CLEANUP] Cleaning up all agent connections and views
[19:18:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:44] [CLEANUP] Stopped and removed 0 video connections
[19:18:44] [CLEANUP] Removed 0 video views
[19:18:44] [CLEANUP] Removed 0 feed scroll views
[19:18:44] [CLEANUP] Removed 0 status labels
[19:18:44] [CLEANUP] Reset agent query state
[19:18:44] [CLEANUP] Updated page indicator
[19:18:44] [CLEANUP] Rebuilt video layout
[19:18:44] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:44] [CLEANUP] ========================================
[19:18:44] [SERVER] Starting reconnect polling (5s interval)
[19:18:44] [CLEANUP] ========================================
[19:18:44] [CLEANUP] Cleaning up all agent connections and views
[19:18:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:44] [CLEANUP] Stopped and removed 0 video connections
[19:18:44] [CLEANUP] Removed 0 video views
[19:18:44] [CLEANUP] Removed 0 feed scroll views
[19:18:44] [CLEANUP] Removed 0 status labels
[19:18:44] [CLEANUP] Reset agent query state
[19:18:44] [CLEANUP] Updated page indicator
[19:18:44] [CLEANUP] Rebuilt video layout
[19:18:44] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:44] [CLEANUP] ========================================
[19:18:44] [SERVER] Starting reconnect polling (5s interval)
[19:18:44] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=5
[19:18:44] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839]
[19:18:44] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:18:44] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:44] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:18:44] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:18:44] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:44] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:44] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:44] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=54
[19:18:46] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:46] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:18:46] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=<Eye.PastingTextView: 0x11b868c00; baseClass = UITextView; frame = (44 8; 320 36
[19:18:46] [SCROLL] 💓 alive, visible=45...50, rows=51, estHeight=0.0, heightCalls=54
[19:18:46] [LOG-KB] textViewDidEndEditing: isInputField=true, resetting allowKeyboardDismiss to false
[19:18:46] [LOCK] Lock button tapped - locking app immediately
[19:18:46] [LOCK] Received lock app notification
[19:18:46] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:46] HELLO → sent (cached token, role=query)
[19:18:46] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:18:46] [WS] Query connection failed - cleaning up all agent connections and views
[19:18:46] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:18:46] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:18:46] [CLEANUP] ========================================
[19:18:46] [CLEANUP] Cleaning up all agent connections and views
[19:18:46] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:46] [CLEANUP] Stopped and removed 0 video connections
[19:18:46] [CLEANUP] Removed 0 video views
[19:18:46] [CLEANUP] Removed 0 feed scroll views
[19:18:46] [CLEANUP] Removed 0 status labels
[19:18:46] [CLEANUP] Reset agent query state
[19:18:46] [CLEANUP] Updated page indicator
[19:18:46] [CLEANUP] Rebuilt video layout
[19:18:46] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:46] [CLEANUP] ========================================
[19:18:46] [SERVER] Starting reconnect polling (5s interval)
[19:18:46] [CLEANUP] ========================================
[19:18:46] [CLEANUP] Cleaning up all agent connections and views
[19:18:46] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:46] [CLEANUP] Stopped and removed 0 video connections
[19:18:46] [CLEANUP] Removed 0 video views
[19:18:46] [CLEANUP] Removed 0 feed scroll views
[19:18:46] [CLEANUP] Removed 0 status labels
[19:18:46] [CLEANUP] Reset agent query state
[19:18:46] [CLEANUP] Updated page indicator
[19:18:46] [CLEANUP] Rebuilt video layout
[19:18:46] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:46] [CLEANUP] ========================================
[19:18:46] [SERVER] Starting reconnect polling (5s interval)
[19:18:46] [LIFECYCLE] App resigning active - cleared crash flag
[19:18:47] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[19:18:47] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[19:18:47] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[19:18:47] [LIFECYCLE] App entering background - cleared crash flag
[19:18:47] [CLIENT_SIG] Disconnecting
[19:18:47] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[19:18:47] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[19:18:47] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:47] [LIFECYCLE] Background snapshot: count=50, maxId=23843
[19:18:47] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[19:18:47] [WS] Canceling WebSocket for query connection to iosILUIWU
[19:18:47] In cleanupPeer
[19:18:47] In cleanupPeer
[19:18:47] [LIFECYCLE] WebRTC audio disabled
[19:18:47] [LIFECYCLE] AVAudioSession deactivated
[19:18:47] [LIFECYCLE] All connections stopped
[19:18:47] [CLIENT_SIG] WebSocket closed with code 1001
[19:18:47] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:18:47] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[19:18:47] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:18:47] [SERVER] Stopped reconnect polling
[19:18:47] [WS] URLSession invalidated successfully
[19:18:47] Will request stop of video 0
[19:18:47] Will request stop of video 0
[19:18:47] [PIP] Removing 0 tracks from PiP for connection 0
[19:18:47] [PIP] ✅ All tracks removed for connection 0
[19:18:47] [PIP] Removing 0 tracks from PiP for connection 0
[19:18:47] [PIP] ✅ All tracks removed for connection 0
[19:18:48] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:48] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:18:48] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[19:18:48] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:18:48] [LIFECYCLE] App entering foreground - restoring connections
[19:18:48] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:48] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[]
[19:18:48] [UPLOAD_RETRY] No pending uploads to retry
[19:18:48] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:18:48] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[19:18:48] [LIFECYCLE] WebRTC audio re-enabled
[19:18:48] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[19:18:48] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[19:18:48] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:18:48] [VIEWER] Reconnecting after background - querying agents
[19:18:48] [UNSENT_RETRY] Checking for unsent messages...
[19:18:48] [PENDING_UPLOAD] Total pending upload messages: 0
[19:18:48] [UNSENT_RETRY] No unsent messages found
[19:18:48] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=3
[19:18:48] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839]
[19:18:48] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:18:48] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:48] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:18:48] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:18:48] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:48] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:48] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:48] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=57
[19:18:48] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:18:48] [CLIENT_SIG] WebSocket opened
[19:18:48] HELLO → sent (cached token, role=query)
[19:18:48] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:18:48] [CLIENT_SIG] Connected! clientId=pJETMAjvAJLar42Q
[19:18:48] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[19:18:48] [WS] Query connection failed - cleaning up all agent connections and views
[19:18:48] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000
[19:18:48] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views
[19:18:48] [CLEANUP] ========================================
[19:18:48] [CLEANUP] Cleaning up all agent connections and views
[19:18:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:48] [CLEANUP] Stopped and removed 0 video connections
[19:18:48] [CLEANUP] Removed 0 video views
[19:18:48] [CLEANUP] Removed 0 feed scroll views
[19:18:48] [CLEANUP] Removed 0 status labels
[19:18:48] [CLEANUP] Reset agent query state
[19:18:48] [CLEANUP] Updated page indicator
[19:18:48] [CLEANUP] Rebuilt video layout
[19:18:48] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:48] [CLEANUP] ========================================
[19:18:48] [SERVER] Starting reconnect polling (5s interval)
[19:18:48] [CLEANUP] ========================================
[19:18:48] [CLEANUP] Cleaning up all agent connections and views
[19:18:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[19:18:48] [CLEANUP] Stopped and removed 0 video connections
[19:18:48] [CLEANUP] Removed 0 video views
[19:18:48] [CLEANUP] Removed 0 feed scroll views
[19:18:48] [CLEANUP] Removed 0 status labels
[19:18:48] [CLEANUP] Reset agent query state
[19:18:48] [CLEANUP] Updated page indicator
[19:18:48] [CLEANUP] Rebuilt video layout
[19:18:48] [CLEANUP] ✅ All agent connections and views cleaned up
[19:18:48] [CLEANUP] ========================================
[19:18:48] [SERVER] Starting reconnect polling (5s interval)
[19:18:48] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:18:48] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:18:48] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[19:18:48] [FOREGROUND] Enriched 0/1 unsettled messages with readBy data
[19:18:48] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23843>23843=false, shouldScroll=false
[19:18:48] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:18:48] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[19:18:48] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[19:18:48] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:48] [PUSH] handlePollEventsNotification userInfo: [:]
[19:18:48] [PUSH] No message_id in userInfo
[19:18:48] [PUSH] No operation_type in userInfo
[19:18:48] [FAST_REFRESH] Evolution disabled - performing incremental sync
[19:18:48] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[]
[19:18:48] [PUSH_TRACE] 📬 POLL: memory state: count=50, first 10 IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:48] [FAST_REFRESH] Already have 50 messages in memory
[19:18:48] [FAST_REFRESH] maxMemoryId=23843, maxLocalId=23843
[19:18:48] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[19:18:48] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:18:48] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:18:48] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[19:18:48] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[19:18:48] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[19:18:48] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23843, maxMemoryId=23843
[19:18:48] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23843
[19:18:49] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[19:18:49] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data
[19:18:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:18:49] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:18:49] [INCREMENTAL_SYNC] ✅ No new messages
[19:18:49] [FAST_REFRESH] Incremental sync complete - 50 messages
[19:18:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=57
[19:18:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839]
[19:18:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:18:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:49] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:18:49] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:18:49] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:18:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:18:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:18:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=57
[19:18:49] [LIFECYCLE] App resigning active - cleared crash flag
[19:18:50] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[19:18:50] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[19:18:50] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[19:18:50] [LIFECYCLE] App entering background - cleared crash flag
[19:18:50] [CLIENT_SIG] Disconnecting
[19:18:50] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[19:18:50] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[19:18:50] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:18:50] [LIFECYCLE] Background snapshot: count=50, maxId=23843
[19:18:50] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[19:18:50] [WS] Canceling WebSocket for query connection to iosILUIWU
[19:18:50] In cleanupPeer
[19:18:50] In cleanupPeer
[19:18:50] [LIFECYCLE] WebRTC audio disabled
[19:18:50] [LIFECYCLE] AVAudioSession deactivated
[19:18:50] [LIFECYCLE] All connections stopped
[19:18:50] [CLIENT_SIG] WebSocket closed with code 1001
[19:18:50] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[19:18:50] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[19:18:50] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[19:18:50] [SERVER] Stopped reconnect polling
[19:18:50] [WS] URLSession invalidated successfully
[19:18:50] Will request stop of video 0
[19:18:50] Will request stop of video 0
[19:18:50] [PIP] Removing 0 tracks from PiP for connection 0
[19:18:50] [PIP] ✅ All tracks removed for connection 0
[19:18:50] [PIP] Removing 0 tracks from PiP for connection 0
[19:18:50] [PIP] ✅ All tracks removed for connection 0
[19:20:24] [CRASH] No crash detected
[19:20:24] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[19:20:24] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[19:20:24] [GIPHY] SDK not available - using REST API fallback
[19:20:24] [BACKGROUND] Background fetch enabled
[19:20:24] [AUTH] Starting PIN authentication
[19:20:24] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[19:20:24] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:20:24] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[19:20:24] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[19:20:24] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[19:20:24] [CLEANUP] ✅ Deleted 4 timer messages older than 24h
[19:20:24] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23843)...
[19:20:24] [CLIENT_SIG] WebSocket opened
[19:20:24] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[19:20:25] [CLIENT_SIG] Connected! clientId=w73mnWSFbmp0Uy-Q
[19:20:25] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[19:20:25] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[19:20:25] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[19:20:25] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[19:20:25] [PRELOAD] No messages or parse error
[19:20:25] [USER] ✅ User registered successfully
[19:20:25] [PUSH] User registration after token update: success
[19:20:25] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 18:20:25 +0000 - type: unknown, operation_type: 0, message_id: 23843, session_id: ILUIWU, state: 0
[19:20:25] [PUSH_DEBUG] Full userInfo: [AnyHashable("message_data"): {
datesent = "2026-03-06 18:13:20";
"file_name" = "";
message = "Did you see A battle after another ? With DiCaprio and Sean Penn";
"message_id" = 23843;
"message_type" = 0;
"prev_session_message_id" = 23842;
"sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"sender_name" = Laurent;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 0;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23843, AnyHashable("operation_type"): 0]
[19:20:25] [PUSH] App active - suppressing notification UI, posting internal event
[19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:20:25 +0000
[19:20:25] [PUSH_TRACE] ⬇️ Processing embedded message_id=23843
[19:20:25] [PUSH_EMBED] 📩 Received embedded message: id=23843, type=0, sender=Laurent
[19:20:25] [PUSH_TRACE] ⬇️ Message details: text="Did you see A battle after another ? With DiCaprio...", datesent=2026-03-06 18:13:20
[19:20:25] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[19:20:25] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23843
[19:20:25] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23843
[19:20:25] [PUSH_EMBED] ✅ Saved message 23843 to local DB (sync)
[19:20:25] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23843
[19:20:25] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23843
[19:20:25] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23843
[19:20:25] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[]
[19:20:25] [PUSH_EMBED] Created new cache with embedded message 23843
[19:20:25] [PUSH_TRACE] 📦 ✅ Created new cache with message 23843
[19:20:25] [PUSH_TRACE] 📦 EXITING cache update queue for message 23843
[19:20:25] [PUSH_EMBED] Fetching evolution data for message 23843 in background
[19:20:25] [PUSH_EMBED] ✅ Fully processed message 23843
[19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23843
[19:20:25] [PUSH] Silent push received
[19:20:25] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:20:25 +0000, appState=0, message_id=23843
[19:20:25] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=1, IDs=[23843]
[19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:20:25 +0000
[19:20:25] [PUSH_TRACE] ⬇️ Processing embedded message_id=23843
[19:20:25] [PUSH_EMBED] 📩 Received embedded message: id=23843, type=0, sender=Laurent
[19:20:25] [PUSH_TRACE] ⬇️ Message details: text="Did you see A battle after another ? With DiCaprio...", datesent=2026-03-06 18:13:20
[19:20:25] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[19:20:25] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23843
[19:20:25] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23843
[19:20:25] [PUSH_EMBED] ✅ Saved message 23843 to local DB (sync)
[19:20:25] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23843
[19:20:25] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23843
[19:20:25] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23843
[19:20:25] [PUSH_TRACE] 📦 Cache state: valid=true, count=1, IDs=[23843]
[19:20:25] [PUSH_TRACE] 📦 ⚠️ Message 23843 already in cache, skipping insert
[19:20:25] [PUSH_TRACE] 📦 EXITING cache update queue for message 23843
[19:20:25] [PUSH_EMBED] Fetching evolution data for message 23843 in background
[19:20:25] [PUSH_EMBED] ✅ Fully processed message 23843
[19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23843
[19:20:25] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[23843], handled=true
[19:20:25] [PUSH] Embedded message handled instantly from silent push
[19:20:25] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[19:20:25] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23843
[19:20:25] [PUSH_EMBED] Got evolution data for message 23843, saving to local DB
[19:20:25] [PUSH_EMBED] Saved evolution data for message 23843
[19:20:25] [PUSH_EMBED] Got evolution data for message 23843, saving to local DB
[19:20:25] [PUSH_EMBED] Saved evolution data for message 23843
[19:20:26] [PIN_AUTH] Correct PIN
[19:20:26] [SECURITY] Restored real session: ILUIWU
[19:20:26] [SECURITY] Restored real session: ILUIWU
[19:20:26] [SECURITY] Saved real session: ILUIWU
[19:20:26] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[19:20:26] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[19:20:26] [UPLOAD_QUEUE] ✅ Database integrity check passed
[19:20:26] [UPLOAD_QUEUE] Active background tasks: 2
[19:20:26] [UPLOAD_QUEUE] ⏰ Stale upload: id=967, file=t_edc609c733fd329e.jpg, taskId=3, hasActiveTask=true, age=32min
[19:20:26] [UPLOAD_QUEUE] ⏰ Stale upload: id=968, file=edc609c733fd329e.jpg, taskId=4, hasActiveTask=true, age=32min
[19:20:26] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=967, file=t_edc609c733fd329e.jpg
[19:20:26] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=968, file=edc609c733fd329e.jpg
[19:20:26] [UPLOAD_QUEUE] 🔄 Reset 2 stale uploads from 'uploading' to 'pending'
[19:20:26] Documents Directory: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents
[19:20:26] [UPLOAD_QUEUE] Found 2 pending uploads to resume
[19:20:26] [UPLOAD_QUEUE] File not found for upload id=967, marking as failed
[19:20:26] [UPLOAD_QUEUE] File not found for upload id=968, marking as failed
[19:20:26] [THEME] Applying current theme
[19:20:26] [CHAT] Applied day theme (mode: day)
[19:20:26] [SECURITY] Saved real session: ILUIWU
[19:20:26] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[19:20:26] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[19:20:26] [NETWORK] Network monitor started
[19:20:26] [NETWORK] Status changed: connected
[19:20:26] Did transition
[19:20:26] [CHUNK] Pre-cache has only 1 messages - supplementing from local DB
[19:20:26] [CHUNK] After merge: 50 messages (added 49 from local DB)
[19:20:26] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[19:20:26] [VIEWER] Screen lock enabled - normal idle behavior
[19:20:26] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU
[19:20:26] [VCC] ========== VideoConnectionClass INIT ==========
[19:20:26] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[19:20:26] [DATA AUDIO] ========== setupWebRTC() START ==========
[19:20:26] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[19:20:26] [DATA AUDIO] Creating encoder/decoder factories...
[19:20:26] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[19:20:26] [CODEC] Viewer selected encoder: AV1 (best quality)
[19:20:26] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[19:20:26] [DATA AUDIO] ✅ Factory created
[19:20:26] [DATA AUDIO] RTCAudioSession locked
[19:20:26] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[19:20:26] [DATA AUDIO] RTCAudioSession unlocked
[19:20:26] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[19:20:26] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"]
[19:20:26] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[19:20:26] [WS] Opening session at ws://crivello.dyndns.org:8081/
[19:20:26] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[19:20:26] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[19:20:26] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:20:26] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[19:20:26] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[19:20:26] Did transition
[19:20:26] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[19:20:26] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[19:20:26] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:20:26] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[19:20:26] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[19:20:26] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[19:20:26] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55'
[19:20:26] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46'
[19:20:26] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34'
[19:20:27] [USER] ✅ User registered successfully
[19:20:27] [USER] User registration successful
[19:20:27] [GALLERY_DB] ✅ Loaded 778 media messages
[19:20:27] [MIGRATION] No messages need sender_name backfill
[19:20:27] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[19:20:27] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23843, maxMemoryId=23843
[19:20:27] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23843
[19:20:27] [INCREMENTAL_SYNC] ✅ No new messages
[19:20:27] [GALLERY] Filtered 778 -> 735 (only with local thumbnails)
[19:20:27] [GALLERY] First 5 after sort (newest first):
[19:20:27] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg
[19:20:27] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg
[19:20:27] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg
[19:20:27] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg
[19:20:27] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov
[19:20:27] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0
[19:20:27] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[19:20:27] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[19:20:27] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839]
[19:20:27] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:20:27] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:20:27] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:20:27] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:20:27] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[19:20:27] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[19:20:27] [SERVER] Starting reconnect polling (5s interval)
[19:20:27] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[19:20:27] [ICONS] Offset applied: -14.6
[19:20:27] [ICONS] New left margin: 11.2, New right margin: 11.3
[19:20:27] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[19:20:27] [READBY_ENRICH] Enriched 1/1 unsettled messages with readBy data
[19:20:27] [ICONS] Chat center: (31.2, 87.0)
[19:20:27] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[19:20:27] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[19:20:27] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[19:20:27] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[19:20:27] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[19:20:27] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[19:20:27] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[19:20:27] [ICONS] Screen width: 440.0
[19:20:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[19:20:27] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[19:20:27] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[19:20:27] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[19:20:27] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[19:20:27] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[19:20:27] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:20:27] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[19:20:27] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[19:20:27] [UNSENT_RETRY] Checking for unsent messages...
[19:20:27] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[19:20:27] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[19:20:27] [UPLOAD_RECOVERY] Session: ILUIWU
[19:20:27] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[19:20:27] [UPLOAD_RECOVERY] Checking recent media messages on server...
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete
[19:20:27] [UPLOAD_RECOVERY] Verifying 9 media files exist on server...
[19:20:27] [PENDING_UPLOAD] Total pending upload messages: 0
[19:20:27] [UNSENT_RETRY] No unsent messages found
[19:20:27] new_session POST ok: token len=157
[19:20:27] HELLO → sent (fetched token, role=query)
[19:20:27] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg
[19:20:27] [SIG] hello_ok received for query connection - ready to query agents
[19:20:27] [SIG] get_agents request sent for sessionId=ILUIWU
[19:20:27] [SIG] get_agents request sent for sessionId=iosILUIWU
[19:20:27] [SERVER] Stopped reconnect polling
[19:20:27] [SIG] agents_list received: []
[19:20:27] [SIG] agents_list received: []
[19:20:27] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files...
[19:20:27] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[19:20:27] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[19:20:27] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg
[19:20:27] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[19:20:27] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[19:20:27] [UPLOAD_QUEUE] Enqueued upload id=969 for edc609c733fd329e.jpg
[19:20:27] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[19:20:27] [UPLOAD_DEBUG] Item ID: 969
[19:20:27] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg
[19:20:27] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg
[19:20:27] [UPLOAD_DEBUG] Session ID: ILUIWU
[19:20:27] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[19:20:27] [UPLOAD_DEBUG] Retry count: 0
[19:20:27] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[19:20:27] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading)
[19:20:27] [UPLOAD_DEBUG] File exists: true
[19:20:27] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[2]: 0 → 2
[19:20:27] [UPLOAD_STATUS] 📝 Updated chatMessages[2]: status=2
[19:20:27] [UPLOAD_STATUS] 📝 Updated chatRows[48]: status=2
[19:20:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:20:27] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[19:20:27] [UPLOAD_STATUS] 🔄 Updated visible cell at row 48
[19:20:27] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading)
[19:20:27] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB)
[19:20:27] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[19:20:27] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[19:20:27] [UPLOAD_DEBUG] --- startStandardUpload ---
[19:20:27] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[19:20:27] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[19:20:27] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/113B5224-7B5E-4B15-AC19-C21648646500.upload
[19:20:27] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg
[19:20:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:20:27] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[19:20:27] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes
[19:20:27] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[19:20:27] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes)
[19:20:27] [UPLOAD_DEBUG] Creating background upload task...
[19:20:27] [UPLOAD_DEBUG] Task created with identifier: 5
[19:20:27] [UPLOAD_DEBUG] Added to activeUploads dictionary
[19:20:27] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[19:20:27] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=5 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0
[19:20:27] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[19:20:27] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[19:20:27] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[19:20:27] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg
[19:20:27] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg
[19:20:27] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[19:20:27] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB
[19:20:27] [UPLOAD_QUEUE] Enqueued upload id=970 for t_edc609c733fd329e.jpg
[19:20:27] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[19:20:27] [UPLOAD_DEBUG] Item ID: 970
[19:20:27] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg
[19:20:27] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg
[19:20:27] [UPLOAD_DEBUG] Session ID: ILUIWU
[19:20:27] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[19:20:27] [UPLOAD_DEBUG] Retry count: 0
[19:20:27] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[19:20:27] [UPLOAD_DEBUG] File exists: true
[19:20:27] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[19:20:27] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg
[19:20:27] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[19:20:27] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB)
[19:20:27] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[19:20:27] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[19:20:27] [UPLOAD_DEBUG] --- startStandardUpload ---
[19:20:27] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[19:20:27] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[19:20:27] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/9F6078E4-47C3-48BA-9D23-5816E1772368.upload
[19:20:27] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages
[19:20:27] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes
[19:20:27] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[19:20:27] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes)
[19:20:27] [UPLOAD_DEBUG] Creating background upload task...
[19:20:27] [UPLOAD_DEBUG] Task created with identifier: 6
[19:20:27] [UPLOAD_DEBUG] Added to activeUploads dictionary
[19:20:27] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[19:20:27] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=6 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0
[19:20:27] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[19:20:27] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[19:20:27] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=65
[19:20:27] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839]
[19:20:27] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[19:20:27] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834]
[19:20:27] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[19:20:27] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[19:20:27] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[19:20:27] [CELL_UPLOAD] → has active progress=0.0, setting uploading
[19:20:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[19:20:27] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[19:20:27] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=57[20:26:32] [LOG] Pruned 783 entries older than 3 hours
[20:26:32] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[20:26:32] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[20:26:32] [GIPHY] SDK not available - using REST API fallback
[20:26:32] [BACKGROUND] Background fetch enabled
[20:26:32] [AUTH] Starting PIN authentication
[20:26:32] [PUSH] Notification tapped - session_id: ILUIWU
[20:26:32] [CLEANUP] No old timer messages to delete
[20:26:32] [PUSH] Max message_id before tap: 23843
[20:26:32] [PUSH] Stored pending session: ILUIWU
[20:26:32] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:32 +0000
[20:26:32] [PUSH_TRACE] ⬇️ Processing embedded message_id=23844
[20:26:32] [PUSH_EMBED] 📩 Received embedded message: id=23844, type=0, sender=Esra
[20:26:32] [PUSH_TRACE] ⬇️ Message details: text="Noooo🙄🙄🙄...", datesent=2026-03-06 19:26:28
[20:26:32] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[20:26:32] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23844
[20:26:32] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23844
[20:26:32] [PUSH_EMBED] ✅ Saved message 23844 to local DB (sync)
[20:26:32] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23844
[20:26:32] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23844
[20:26:32] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23844
[20:26:32] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[]
[20:26:32] [PUSH_EMBED] Created new cache with embedded message 23844
[20:26:32] [PUSH_TRACE] 📦 ✅ Created new cache with message 23844
[20:26:32] [PUSH_TRACE] 📦 EXITING cache update queue for message 23844
[20:26:32] [PUSH_EMBED] Fetching evolution data for message 23844 in background
[20:26:32] [PUSH_EMBED] ✅ Fully processed message 23844
[20:26:32] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23844
[20:26:32] [PUSH] Embedded message handled instantly on tap
[20:26:32] [PUSH] Fetching server messages since_id=23843 to catch coalesced notifications on tap
[20:26:32] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23843 to catch coalesced notifications
[20:26:32] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:26:32] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[20:26:32] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:26:32] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[20:26:32] [PRELOAD] Cache already valid (1 messages), skipping pre-load
[20:26:32] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[20:26:32] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[20:26:32] [CLIENT_SIG] WebSocket opened
[20:26:32] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[20:26:32] [CLIENT_SIG] Connected! clientId=-BA1FH3ADDSR4Lah
[20:26:32] [PUSH_EMBED] Got evolution data for message 23844, saving to local DB
[20:26:32] [PUSH_EMBED] Saved evolution data for message 23844
[20:26:32] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[20:26:32] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[20:26:32] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:26:32] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[20:26:32] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[20:26:32] [USER] ✅ User registered successfully
[20:26:32] [PUSH] User registration after token update: success
[20:26:32] [PUSH_PRELOAD] Fetched 1 messages - caching for instant display
[20:26:32] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=1, sessionId=ILUIWU
[20:26:32] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23844]
[20:26:32] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=1, IDs=[23844]
[20:26:32] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[20:26:32] [PUSH_TRACE] 🔀 mergeMessages: merged.count=1, first 10 IDs=[23844]
[20:26:32] [PUSH_PRELOAD] ⚡ Pre-cached 1 messages for instant display (preserved 0 from push)
[20:26:32] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[20:26:32] [PUSH] Server fetch on tap completed (success=true)
[20:26:34] [PIN_AUTH] Correct PIN
[20:26:34] [SECURITY] Restored real session: ILUIWU
[20:26:34] [SECURITY] Restored real session: ILUIWU
[20:26:34] [SECURITY] Saved real session: ILUIWU
[20:26:34] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[20:26:34] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[20:26:34] [DB] 🔄 Reset 1 stuck upload statuses from 'uploading' to 'pending'
[20:26:34] [DB] 📤 Media with pending upload: msgId=23841, file=edc609c733fd329e.jpg, status=pending
[20:26:34] [DB] ⚠️ Found 1 media messages with incomplete uploads
[20:26:34] [UPLOAD_QUEUE] ✅ Database integrity check passed
[20:26:34] [UPLOAD_QUEUE] Active background tasks: 4
[20:26:34] [UPLOAD_QUEUE] ⏰ Stale upload: id=969, file=edc609c733fd329e.jpg, taskId=5, hasActiveTask=true, age=66min
[20:26:34] [UPLOAD_QUEUE] ⏰ Stale upload: id=970, file=t_edc609c733fd329e.jpg, taskId=6, hasActiveTask=true, age=66min
[20:26:34] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=969, file=edc609c733fd329e.jpg
[20:26:34] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=970, file=t_edc609c733fd329e.jpg
[20:26:34] [UPLOAD_QUEUE] 🔄 Reset 2 stale uploads from 'uploading' to 'pending'
[20:26:34] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=969, file=edc609c733fd329e.jpg, status=pending, age=66min
[20:26:34] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=970, file=t_edc609c733fd329e.jpg, status=pending, age=66min
[20:26:34] [UPLOAD_QUEUE] ⚠️ Found 2 uploads pending for >1 hour
[20:26:34] Documents Directory: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents
[20:26:34] [UPLOAD_QUEUE] Found 2 pending uploads to resume
[20:26:34] [THEME] Applying current theme
[20:26:34] [CHAT] Applied day theme (mode: day)
[20:26:34] [SECURITY] Saved real session: ILUIWU
[20:26:34] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[20:26:34] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[20:26:34] [NETWORK] Network monitor started
[20:26:34] [NETWORK] Status changed: connected
[20:26:34] Did transition
[20:26:34] [CHUNK] Pre-cache has only 1 messages - supplementing from local DB
[20:26:34] [DB_UPLOAD] 📥 Loaded media msg id=23841 with upload_status=1 (pending), file=edc609c733fd329e.jpg
[20:26:34] [CHUNK] After merge: 50 messages (added 49 from local DB)
[20:26:34] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[20:26:34] [VIEWER] Screen lock enabled - normal idle behavior
[20:26:34] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU
[20:26:34] [VCC] ========== VideoConnectionClass INIT ==========
[20:26:34] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[20:26:34] [DATA AUDIO] ========== setupWebRTC() START ==========
[20:26:34] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[20:26:34] [DATA AUDIO] Creating encoder/decoder factories...
[20:26:34] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[20:26:34] [CODEC] Viewer selected encoder: AV1 (best quality)
[20:26:34] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[20:26:34] [DATA AUDIO] ✅ Factory created
[20:26:34] [DATA AUDIO] RTCAudioSession locked
[20:26:34] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[20:26:34] [DATA AUDIO] RTCAudioSession unlocked
[20:26:34] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[20:26:34] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"]
[20:26:34] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[20:26:34] [WS] Opening session at ws://crivello.dyndns.org:8081/
[20:26:34] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[20:26:34] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[20:26:34] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:26:34] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[20:26:34] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[20:26:34] Did transition
[20:26:34] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[20:26:34] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[20:26:34] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:26:34] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[20:26:34] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[20:26:34] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[20:26:34] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55'
[20:26:34] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46'
[20:26:34] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34'
[20:26:34] [USER] ✅ User registered successfully
[20:26:34] [USER] User registration successful
[20:26:34] [GALLERY_DB] ✅ Loaded 778 media messages
[20:26:34] [MIGRATION] No messages need sender_name backfill
[20:26:34] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[20:26:34] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23844, maxMemoryId=23844
[20:26:34] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23844
[20:26:34] [INCREMENTAL_SYNC] ✅ No new messages
[20:26:34] [GALLERY] Filtered 778 -> 735 (only with local thumbnails)
[20:26:34] [GALLERY] First 5 after sort (newest first):
[20:26:34] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg
[20:26:34] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg
[20:26:34] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg
[20:26:34] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg
[20:26:34] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov
[20:26:34] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0
[20:26:34] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[20:26:34] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[20:26:34] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23844, 23843, 23842, 23841, 23840]
[20:26:34] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[20:26:34] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835]
[20:26:34] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[20:26:34] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[20:26:34] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[20:26:34] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[20:26:34] [SERVER] Starting reconnect polling (5s interval)
[20:26:34] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[20:26:34] [ICONS] Offset applied: -14.6
[20:26:34] [ICONS] New left margin: 11.2, New right margin: 11.3
[20:26:34] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[20:26:34] [READBY_ENRICH] Enriched 1/1 unsettled messages with readBy data
[20:26:34] [ICONS] Chat center: (31.2, 87.0)
[20:26:34] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[20:26:34] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[20:26:34] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[20:26:34] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[20:26:34] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[20:26:34] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[20:26:34] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[20:26:34] [ICONS] Screen width: 440.0
[20:26:34] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[20:26:34] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[20:26:34] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[20:26:34] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[20:26:34] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1
[20:26:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[20:26:34] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:34] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0
[20:26:34] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23843 → 23844
[20:26:34] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:26:34] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[20:26:34] [UNSENT_RETRY] Checking for unsent messages...
[20:26:34] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[20:26:34] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[20:26:34] [UPLOAD_RECOVERY] Session: ILUIWU
[20:26:34] [UPLOAD_RECOVERY] ⚠️ Found stuck upload: msgId=23841, file=edc609c733fd329e.jpg, reason=upload_status=pending
[20:26:34] [UPLOAD_RECOVERY] ✅ Local file exists: edc609c733fd329e.jpg
[20:26:35] new_session POST ok: token len=157
[20:26:35] HELLO → sent (fetched token, role=query)
[20:26:35] [UPLOAD_RECOVERY] 🔄 File not on server, re-uploading: edc609c733fd329e.jpg
[20:26:35] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[20:26:35] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[20:26:35] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg
[20:26:35] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[20:26:35] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[20:26:35] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=pending)
[20:26:35] [UPLOAD_RECOVERY] Found 1 messages with stuck/unsynced uploads
[20:26:35] [UPLOAD_RECOVERY] Checking recent media messages on server...
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=pending
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete
[20:26:35] [UPLOAD_RECOVERY] Verifying 9 media files exist on server...
[20:26:35] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=1, sendStatus=0
[20:26:35] [PENDING_UPLOAD] Total pending upload messages: 1
[20:26:35] [UNSENT_RETRY] No unsent messages found
[20:26:35] [UPLOAD_RECOVERY] ✅ Re-enqueued stuck upload: edc609c733fd329e.jpg
[20:26:35] [SIG] hello_ok received for query connection - ready to query agents
[20:26:35] [SIG] get_agents request sent for sessionId=ILUIWU
[20:26:35] [SIG] get_agents request sent for sessionId=iosILUIWU
[20:26:35] [SERVER] Stopped reconnect polling
[20:26:35] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg
[20:26:35] [SIG] agents_list received: []
[20:26:35] [SIG] agents_list received: []
[20:26:35] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files...
[20:26:35] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[20:26:35] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[20:26:35] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg
[20:26:35] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[20:26:35] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[20:26:35] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=pending)
[20:26:35] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg
[20:26:35] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=65
[20:26:35] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23844, 23843, 23842, 23841, 23840]
[20:26:35] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[20:26:35] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835]
[20:26:35] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[20:26:35] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[20:26:35] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1
[20:26:35] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending
[20:26:35] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:35] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0
[20:26:35] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=57
[20:26:35] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[20:26:35] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg
[20:26:35] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg
[20:26:35] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[20:26:35] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB
[20:26:35] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=970, status=pending)
[20:26:35] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg
[20:26:36] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[20:26:36] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[20:26:36] [UPLOAD_DEBUG] ========== START UPLOAD ==========
[20:26:36] [UPLOAD_DEBUG] Item ID: 969
[20:26:36] [UPLOAD_DEBUG] Item ID: 970
[20:26:36] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg
[20:26:36] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg
[20:26:36] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg
[20:26:36] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg
[20:26:36] [UPLOAD_DEBUG] Session ID: ILUIWU
[20:26:36] [UPLOAD_DEBUG] Session ID: ILUIWU
[20:26:36] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[20:26:36] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/
[20:26:36] [UPLOAD_DEBUG] Retry count: 0
[20:26:36] [UPLOAD_DEBUG] Retry count: 0
[20:26:36] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[20:26:36] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0%
[20:26:36] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[20:26:36] [UPLOAD_DEBUG] File exists: true
[20:26:36] [UPLOAD_DEBUG] File exists: true
[20:26:36] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg
[20:26:36] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading)
[20:26:36] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB)
[20:26:36] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB)
[20:26:36] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[20:26:36] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB)
[20:26:36] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[20:26:36] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold)
[20:26:36] [UPLOAD_DEBUG] --- startStandardUpload ---
[20:26:36] [UPLOAD_DEBUG] --- startStandardUpload ---
[20:26:36] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[20:26:36] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php
[20:26:36] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[20:26:36] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg
[20:26:36] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/8B8C3919-AE18-4846-BC25-1196B519C91D.upload
[20:26:36] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/423858A0-1AC7-496F-88C8-E1EA227417BB.upload
[20:26:36] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes
[20:26:36] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes
[20:26:36] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[20:26:36] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)...
[20:26:36] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages
[20:26:36] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading)
[20:26:36] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[3]: 1 → 2
[20:26:36] [UPLOAD_STATUS] 📝 Updated chatMessages[3]: status=2
[20:26:36] [UPLOAD_STATUS] 📝 Updated chatRows[47]: status=2
[20:26:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:36] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:26:36] [UPLOAD_STATUS] 🔄 Updated visible cell at row 47
[20:26:36] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading)
[20:26:36] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg
[20:26:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:36] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:26:36] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes)
[20:26:36] [UPLOAD_DEBUG] Creating background upload task...
[20:26:36] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes)
[20:26:36] [UPLOAD_DEBUG] Creating background upload task...
[20:26:36] [UPLOAD_DEBUG] Task created with identifier: 7
[20:26:36] [UPLOAD_DEBUG] Added to activeUploads dictionary
[20:26:36] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[20:26:36] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=7 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0
[20:26:36] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[20:26:36] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[20:26:36] [UPLOAD_DEBUG] Task created with identifier: 8
[20:26:36] [UPLOAD_DEBUG] Added to activeUploads dictionary
[20:26:36] [UPLOAD_DEBUG] Updated DB status to 'uploading'
[20:26:36] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=8 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0
[20:26:36] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now
[20:26:36] [UPLOAD_DEBUG] ========== UPLOAD STARTED ==========
[20:26:36] [PUSH] Silent push received
[20:26:36] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:36 +0000, appState=0, message_id=nil
[20:26:36] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[]
[20:26:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:36 +0000
[20:26:36] [PUSH_EMBED] No embedded message_data in notification
[20:26:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[20:26:36] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false
[20:26:36] [PUSH] No embedded data, pre-loading messages from server
[20:26:36] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:26:37] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[20:26:37] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[20:26:37] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:37] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache
[20:26:37] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[20:26:37] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[20:26:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835]
[20:26:37] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23844, AnyHashable("aps"): {
"content-available" = 1;
}]
[20:26:37] [PUSH] Parsed message_id: 23844
[20:26:37] [PUSH] Parsed operation_type: 3
[20:26:37] [PUSH] Taking direct action: opType=3, messageId=23844
[20:26:37] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23844
[20:26:37] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 19:26:37 +0000 - type: unknown, operation_type: 0, message_id: 23845, session_id: ILUIWU, state: 0
[20:26:37] [PUSH_DEBUG] Full userInfo: [AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23845, AnyHashable("message_data"): {
datesent = "2026-03-06 19:26:36";
"file_name" = "";
message = "But noted\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23845;
"message_type" = 0;
"prev_session_message_id" = 23844;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
[20:26:37] [PUSH] App active - suppressing notification UI, posting internal event
[20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:37 +0000
[20:26:37] [PUSH_TRACE] ⬇️ Processing embedded message_id=23845
[20:26:37] [PUSH_EMBED] 📩 Received embedded message: id=23845, type=0, sender=Esra
[20:26:37] [PUSH_TRACE] ⬇️ Message details: text="But noted😋😋...", datesent=2026-03-06 19:26:36
[20:26:37] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[20:26:37] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23845
[20:26:37] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23845
[20:26:37] [PUSH_EMBED] ✅ Saved message 23845 to local DB (sync)
[20:26:37] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23845
[20:26:37] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23845
[20:26:37] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23845
[20:26:37] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:37] [PUSH_TRACE] 📦 ⚠️ Message 23845 already in cache, skipping insert
[20:26:37] [PUSH_TRACE] 📦 EXITING cache update queue for message 23845
[20:26:37] [PUSH_EMBED] Fetching evolution data for message 23845 in background
[20:26:37] [PUSH_EMBED] ✅ Fully processed message 23845
[20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23845
[20:26:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835]
[20:26:37] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23845, AnyHashable("message_data"): {
datesent = "2026-03-06 19:26:36";
"file_name" = "";
message = "But noted\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23845;
"message_type" = 0;
"prev_session_message_id" = 23844;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
[20:26:37] [PUSH_EMBED_VC] Processing embedded message: id=23845, type=0, sender=Esra, prevId=23844
[20:26:37] [PUSH_EMBED_VC] Inserted message 23845 into allMessagesWithReadBy (now 51 messages)
[20:26:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51
[20:26:37] [PUSH_EMBED_VC] ✅ Previous message 23844 exists in memory
[20:26:37] [PUSH] ⚡ Embedded message handled directly in ViewController
[20:26:37] [PUSH] Parsed message_id: 23845
[20:26:37] [PUSH] Parsed operation_type: 0
[20:26:37] [PUSH_EMBED_VC] Saved message 23845 to local DB
[20:26:37] [PUSH] Taking direct action: opType=0, messageId=23845
[20:26:37] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23845
[20:26:37] [PUSH] ⚡ Message 23845 already in memory - skipping duplicate notification entirely
[20:26:37] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[20:26:37] [PUSH_TRACE] 👁️ Received message id=23845, text="But noted😋😋..."
[20:26:37] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[20:26:37] [PUSH_UI] Message 23845 already in memory - skipping insert
[20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[20:26:37] [PUSH] Silent push received
[20:26:37] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:37 +0000, appState=0, message_id=23845
[20:26:37] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:37 +0000
[20:26:37] [PUSH_TRACE] ⬇️ Processing embedded message_id=23845
[20:26:37] [PUSH_EMBED] 📩 Received embedded message: id=23845, type=0, sender=Esra
[20:26:37] [PUSH_TRACE] ⬇️ Message details: text="But noted😋😋...", datesent=2026-03-06 19:26:36
[20:26:37] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[20:26:37] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23845
[20:26:37] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23845
[20:26:37] [PUSH_EMBED] ✅ Saved message 23845 to local DB (sync)
[20:26:37] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23845
[20:26:37] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23845
[20:26:37] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23845
[20:26:37] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:37] [PUSH_TRACE] 📦 ⚠️ Message 23845 already in cache, skipping insert
[20:26:37] [PUSH_TRACE] 📦 EXITING cache update queue for message 23845
[20:26:37] [PUSH_EMBED] Fetching evolution data for message 23845 in background
[20:26:37] [PUSH_EMBED] ✅ Fully processed message 23845
[20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23845
[20:26:37] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836], handled=true
[20:26:37] [PUSH] Embedded message handled instantly from silent push
[20:26:37] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[20:26:37] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23845
[20:26:37] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[20:26:37] [PUSH_TRACE] 👁️ Received message id=23845, text="But noted😋😋..."
[20:26:37] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[20:26:37] [PUSH_UI] Message 23845 already in memory - skipping insert
[20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[20:26:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:37] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23845, AnyHashable("message_data"): {
datesent = "2026-03-06 19:26:36";
"file_name" = "";
message = "But noted\Ud83d\Ude0b\Ud83d\Ude0b";
"message_id" = 23845;
"message_type" = 0;
"prev_session_message_id" = 23844;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}]
[20:26:37] [PUSH_EMBED_VC] Message 23845 already in memory - skipping
[20:26:37] [PUSH] ⚡ Embedded message handled directly in ViewController
[20:26:37] [PUSH] Parsed message_id: 23845
[20:26:37] [PUSH] Parsed operation_type: 0
[20:26:37] [PUSH] Taking direct action: opType=0, messageId=23845
[20:26:37] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23845
[20:26:37] [PUSH] ⚡ Message 23845 already in memory - skipping duplicate notification entirely
[20:26:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=57
[20:26:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23845, 23844, 23843, 23842, 23841]
[20:26:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[20:26:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:37] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[20:26:37] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[20:26:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:26:37] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:26:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:26:37] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23844 → 23845
[20:26:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[20:26:37] [SCROLL] 💓 alive, visible=45...51, rows=52, estHeight=0.0, heightCalls=112
[20:26:38] [CLIENT_SIG] Event received: type=0 messageId=23845
[20:26:38] [WS_EVENT] Received event: type=0, messageId=23845
[20:26:38] [WS_EVENT] 📨 New message notification (msgId=23845) - triggering incremental refresh, currentMsgCount=51
[20:26:38] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[20:26:38] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23845, maxMemoryId=23845
[20:26:38] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23845
[20:26:38] [PUSH_EMBED] Got evolution data for message 23845, saving to local DB
[20:26:38] [PUSH_EMBED] Saved evolution data for message 23845
[20:26:38] [INCREMENTAL_SYNC] ✅ No new messages
[20:26:38] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[20:26:38] [CLIENT_SIG] Event received: type=3 messageId=23844
[20:26:38] [WS_EVENT] Received event: type=3, messageId=23844
[20:26:38] [WS_EVENT] Read receipt for message 23844 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:26:38] [PUSH_EMBED] Got evolution data for message 23845, saving to local DB
[20:26:38] [PUSH_EMBED] Saved evolution data for message 23845
[20:26:39] [PUSH] Silent push received
[20:26:39] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:39 +0000, appState=0, message_id=nil
[20:26:39] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:39] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:39 +0000
[20:26:39] [PUSH_EMBED] No embedded message_data in notification
[20:26:39] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[20:26:39] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836], handled=false
[20:26:39] [PUSH] No embedded data, pre-loading messages from server
[20:26:39] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:26:40] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[20:26:40] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[20:26:40] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:40] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:40] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[]
[20:26:40] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:40] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[20:26:40] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[20:26:40] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:40] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23845]
[20:26:40] [PUSH] Parsed message_id: 23845
[20:26:40] [PUSH] Parsed operation_type: 3
[20:26:40] [PUSH] Taking direct action: opType=3, messageId=23845
[20:26:40] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23845
[20:26:41] [CLIENT_SIG] Event received: type=3 messageId=23845
[20:26:41] [WS_EVENT] Received event: type=3, messageId=23845
[20:26:41] [WS_EVENT] Read receipt for message 23845 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:26:49] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[20:26:49] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=51, isReloading=false
[20:26:49] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=52
[20:26:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[20:26:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[-1, 23845, 23844, 23843, 23842]
[20:26:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[20:26:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837]
[20:26:49] [RELOAD_TAB] 📊 Building chatRows from 52 messages
[20:26:49] [RELOAD_TAB] 📊 Built 53 chatRows, estHeight=0.0
[20:26:49] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:26:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:26:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:49] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:26:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[20:26:49] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[20:26:49] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[20:26:49] [SCROLL] 💓 alive, visible=47...52, rows=53, estHeight=0.0, heightCalls=113
[20:26:51] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23846,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 19:26:49"}
[20:26:51] [CLIENT_SIG] Event received: type=0 messageId=23846
[20:26:51] [WS_EVENT] Received event: type=0, messageId=23846
[20:26:51] [CHAT] receive_message.php JSON: ["datesent_utc": 2026-03-06 19:26:49, "session_id": ILUIWU, "message_id": 23846, "message_type": 0, "ok": 1, "file_name": ]
[20:26:51] [WS_EVENT] 📨 New message notification (msgId=23846) - triggering incremental refresh, currentMsgCount=52
[20:26:51] [DB_UPGRADE] Upgrading message ID: -1 → 23846, preserveOriginalDate=false
[20:26:51] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52
[20:26:51] [DB_UPGRADE] ✅ Upgraded -1 → 23846 with send_status=0, 1 row(s) affected
[20:26:51] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23846, maxMemoryId=23845
[20:26:51] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23846
[20:26:51] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -1 → 23846
[20:26:51] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -1 → 23846
[20:26:51] ReloadData 9
[20:26:51] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:26:51] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:26:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:51] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:26:51] [INCREMENTAL_SYNC] ✅ No new messages
[20:26:51] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=52
[20:26:51] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[20:26:51] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=52, isReloading=false
[20:26:51] [SEND_MESSAGE] ✅ Added optimistic message id=-2 to arrays, newMsgCount=53
[20:26:51] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=60
[20:26:51] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[-2, 23846, 23845, 23844, 23843]
[20:26:51] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages
[20:26:51] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-2, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:51] [RELOAD_TAB] 📊 Building chatRows from 53 messages
[20:26:51] [RELOAD_TAB] 📊 Built 54 chatRows, estHeight=0.0
[20:26:51] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:26:51] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:26:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:51] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:26:51] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61
[20:26:51] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[20:26:51] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[20:26:51] [SCROLL] 💓 alive, visible=47...53, rows=54, estHeight=0.0, heightCalls=117
[20:26:53] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=<Eye.PastingTextView: 0x10a398c00; baseClass = UITextView; frame = (44 8; 320 36
[20:26:53] [SCROLL] 💓 alive, visible=47...53, rows=54, estHeight=0.0, heightCalls=0
[20:26:53] [LOG-KB] textViewDidEndEditing: isInputField=true, resetting allowKeyboardDismiss to false
[20:26:53] [LOCK] Lock button tapped - locking app immediately
[20:26:53] [LOCK] Received lock app notification
[20:26:53] [CLIENT_SIG] Event received: type=0 messageId=23847
[20:26:53] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23847,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 19:26:51"}
[20:26:53] [WS_EVENT] Received event: type=0, messageId=23847
[20:26:53] [CHAT] receive_message.php JSON: ["message_type": 0, "ok": 1, "file_name": , "message_id": 23847, "session_id": ILUIWU, "datesent_utc": 2026-03-06 19:26:51]
[20:26:53] [WS_EVENT] 📨 New message notification (msgId=23847) - triggering incremental refresh, currentMsgCount=53
[20:26:53] [DB_UPGRADE] Upgrading message ID: -2 → 23847, preserveOriginalDate=false
[20:26:53] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=53
[20:26:53] [DB_UPGRADE] ✅ Upgraded -2 → 23847 with send_status=0, 1 row(s) affected
[20:26:53] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23847, maxMemoryId=23846
[20:26:53] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23847
[20:26:53] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -2 → 23847
[20:26:53] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -2 → 23847
[20:26:53] ReloadData 9
[20:26:53] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:26:53] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:26:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:26:53] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:26:53] [INCREMENTAL_SYNC] ✅ No new messages
[20:26:53] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=53
[20:26:53] [LIFECYCLE] App resigning active - cleared crash flag
[20:26:54] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[20:26:54] [SECURITY] sceneDidEnterBackground - isAuthenticated=false
[20:26:54] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false
[20:26:54] [LIFECYCLE] App entering background - cleared crash flag
[20:26:54] [CLIENT_SIG] Disconnecting
[20:26:54] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[20:26:54] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[20:26:54] [PUSH_TRACE] 💤 BACKGROUND: memory has 53 messages, first 10 IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:54] [LIFECYCLE] Background snapshot: count=53, maxId=23847
[20:26:54] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0
[20:26:54] [WS] Canceling WebSocket for query connection to iosILUIWU
[20:26:54] In cleanupPeer
[20:26:54] In cleanupPeer
[20:26:54] [LIFECYCLE] WebRTC audio disabled
[20:26:54] [LIFECYCLE] AVAudioSession deactivated
[20:26:54] [LIFECYCLE] All connections stopped
[20:26:54] [CLIENT_SIG] WebSocket closed with code 1001
[20:26:54] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[20:26:54] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[20:26:54] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[20:26:54] [SERVER] Stopped reconnect polling
[20:26:54] Will request stop of video 0
[20:26:54] Will request stop of video 0
[20:26:54] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled
[20:26:54] [WS] Query connection error - cleaning up all agent connections and views
[20:26:54] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected
[20:26:54] [WS] Query connection failed - cleaning up all agent connections and views
[20:26:54] [PIP] Removing 0 tracks from PiP for connection 0
[20:26:54] [PIP] ✅ All tracks removed for connection 0
[20:26:54] [PIP] Removing 0 tracks from PiP for connection 0
[20:26:54] [PIP] ✅ All tracks removed for connection 0
[20:26:54] [CLEANUP] ========================================
[20:26:54] [CLEANUP] Cleaning up all agent connections and views
[20:26:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[20:26:54] [CLEANUP] Stopped and removed 0 video connections
[20:26:54] [CLEANUP] Removed 0 video views
[20:26:54] [CLEANUP] Removed 0 feed scroll views
[20:26:54] [CLEANUP] Removed 0 status labels
[20:26:54] [CLEANUP] Reset agent query state
[20:26:54] [CLEANUP] Updated page indicator
[20:26:54] [CLEANUP] Rebuilt video layout
[20:26:54] [CLEANUP] ✅ All agent connections and views cleaned up
[20:26:54] [CLEANUP] ========================================
[20:26:54] [SERVER] Skipping reconnect polling - app is in background
[20:26:54] [WS] URLSession invalidated successfully
[20:26:54] [CLEANUP] ========================================
[20:26:54] [CLEANUP] Cleaning up all agent connections and views
[20:26:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[20:26:54] [CLEANUP] Stopped and removed 0 video connections
[20:26:54] [CLEANUP] Removed 0 video views
[20:26:54] [CLEANUP] Removed 0 feed scroll views
[20:26:54] [CLEANUP] Removed 0 status labels
[20:26:54] [CLEANUP] Reset agent query state
[20:26:54] [CLEANUP] Updated page indicator
[20:26:54] [CLEANUP] Rebuilt video layout
[20:26:54] [CLEANUP] ✅ All agent connections and views cleaned up
[20:26:54] [CLEANUP] ========================================
[20:26:54] [SERVER] Skipping reconnect polling - app is in background
[20:26:54] [PUSH] Silent push received
[20:26:54] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:54 +0000, appState=2, message_id=nil
[20:26:54] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:54] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:54 +0000
[20:26:54] [PUSH_EMBED] No embedded message_data in notification
[20:26:54] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[20:26:54] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836], handled=false
[20:26:54] [PUSH] No embedded data, pre-loading messages from server
[20:26:54] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:26:54] [PUSH] Silent push received
[20:26:54] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:54 +0000, appState=2, message_id=nil
[20:26:54] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:54] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:54 +0000
[20:26:54] [PUSH_EMBED] No embedded message_data in notification
[20:26:54] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[20:26:54] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836], handled=false
[20:26:54] [PUSH] No embedded data, pre-loading messages from server
[20:26:54] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:26:55] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[20:26:55] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[20:26:55] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:55] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836]
[20:26:55] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [23797, 23796]
[20:26:55] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=2, IDs=[23797, 23796]
[20:26:55] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:55] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[20:26:55] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU
[20:26:55] [WS] Opening session at ws://crivello.dyndns.org:8081/
[20:26:55] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[20:26:56] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[20:26:56] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:56] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=52, IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:56] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [23797, 23796]
[20:26:56] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=2, IDs=[23797, 23796]
[20:26:56] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:56] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push)
[20:26:56] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[20:26:56] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 53 msgs, IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:56] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23846, AnyHashable("operation_type"): 3]
[20:26:56] [PUSH] Parsed message_id: 23846
[20:26:56] [PUSH] Parsed operation_type: 3
[20:26:56] [PUSH] Taking direct action: opType=3, messageId=23846
[20:26:56] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23846
[20:26:56] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[20:26:56] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 53 msgs, IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:26:56] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23847, AnyHashable("session_id"): ILUIWU]
[20:26:56] [PUSH] Parsed message_id: 23847
[20:26:56] [PUSH] Parsed operation_type: 3
[20:26:56] [PUSH] Taking direct action: opType=3, messageId=23847
[20:26:56] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23847
[20:26:56] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[20:26:56] HELLO → sent (cached token, role=query)
[20:26:56] [SIG] hello_ok received for query connection - ready to query agents
[20:26:56] [SIG] get_agents request sent for sessionId=ILUIWU
[20:26:56] [SIG] get_agents request sent for sessionId=iosILUIWU
[20:26:56] [SERVER] Stopped reconnect polling
[20:26:56] [SIG] agents_list received: []
[20:26:56] [SIG] agents_list received: []
[20:27:09] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:27:09] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out.
[20:27:09] [WS] Query connection error - cleaning up all agent connections and views
[20:27:09] [PUSH] Silent push received
[20:27:09] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:27:09 +0000, appState=2, message_id=23848
[20:27:09] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=52, IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:27:09] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:09 +0000
[20:27:09] [PUSH_TRACE] ⬇️ Processing embedded message_id=23848
[20:27:09] [PUSH_EMBED] 📩 Received embedded message: id=23848, type=0, sender=Esra
[20:27:09] [PUSH_TRACE] ⬇️ Message details: text="Media unavailable 🥲...", datesent=2026-03-06 19:27:07
[20:27:09] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[20:27:09] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23848
[20:27:09] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23848
[20:27:09] [PUSH_EMBED] ✅ Saved message 23848 to local DB (sync)
[20:27:09] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23848
[20:27:09] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23848
[20:27:09] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23848
[20:27:09] [PUSH_TRACE] 📦 Cache state: valid=true, count=52, IDs=[23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838]
[20:27:09] [PUSH_EMBED] Inserted message 23848 into existing cache (now 53 messages)
[20:27:09] [PUSH_TRACE] 📦 ✅ Inserted message 23848, cache now has IDs: [23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:09] [PUSH_TRACE] 📦 EXITING cache update queue for message 23848
[20:27:09] [PUSH_EMBED] Fetching evolution data for message 23848 in background
[20:27:09] [PUSH_EMBED] ✅ Fully processed message 23848
[20:27:09] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23848
[20:27:09] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839], handled=true
[20:27:09] [PUSH] Embedded message handled instantly from silent push
[20:27:09] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[20:27:09] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23848
[20:27:09] [CLEANUP] ========================================
[20:27:09] [CLEANUP] Cleaning up all agent connections and views
[20:27:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0
[20:27:09] [CLEANUP] Stopped and removed 0 video connections
[20:27:09] [CLEANUP] Removed 0 video views
[20:27:09] [CLEANUP] Removed 0 feed scroll views
[20:27:09] [CLEANUP] Removed 0 status labels
[20:27:09] [CLEANUP] Reset agent query state
[20:27:09] [CLEANUP] Updated page indicator
[20:27:09] [CLEANUP] Rebuilt video layout
[20:27:09] [CLEANUP] ✅ All agent connections and views cleaned up
[20:27:09] [CLEANUP] ========================================
[20:27:09] [SERVER] Skipping reconnect polling - app is in background
[20:27:09] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[20:27:09] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[20:27:09] [PUSH_TRACE] 👁️ Received message id=23848, text="Media unavailable 🥲..."
[20:27:09] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[20:27:09] [PUSH_TRACE] 👁️ BEFORE insert: 53 messages, first 5 IDs: [23847, 23846, 23845, 23844, 23843]
[20:27:09] [PUSH_TRACE] 👁️ Inserted message 23848 at index 0
[20:27:09] [PUSH_UI] Inserted message 23848 into UI (now 54 messages)
[20:27:09] [PUSH_TRACE] 👁️ AFTER insert: 54 messages, first 5 IDs: [23848, 23847, 23846, 23845, 23844]
[20:27:09] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[20:27:09] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[20:27:09] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:09] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): {
datesent = "2026-03-06 19:27:07";
"file_name" = "";
message = "Media unavailable \Ud83e\Udd72";
"message_id" = 23848;
"message_type" = 0;
"prev_session_message_id" = 23847;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23841;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23848, AnyHashable("operation_type"): 0]
[20:27:09] [PUSH_EMBED_VC] Message 23848 already in memory - skipping
[20:27:09] [PUSH] ⚡ Embedded message handled directly in ViewController
[20:27:09] [PUSH] Parsed message_id: 23848
[20:27:09] [PUSH] Parsed operation_type: 0
[20:27:09] [PUSH] Taking direct action: opType=0, messageId=23848
[20:27:09] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23848
[20:27:09] [PUSH] ⚡ Message 23848 already in memory - skipping duplicate notification entirely
[20:27:09] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=62
[20:27:09] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[23848, 23847, 23846, 23845, 23844]
[20:27:09] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages
[20:27:09] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:09] [RELOAD_TAB] 📊 Building chatRows from 54 messages
[20:27:09] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0
[20:27:09] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:27:09] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:27:09] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:27:09] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:27:09] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23847 → 23848
[20:27:09] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63
[20:27:15] [PUSH] Notification tapped - session_id: ILUIWU
[20:27:15] [PUSH] Max message_id before tap: 23848
[20:27:15] [PUSH] Stored pending session: ILUIWU
[20:27:15] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:15 +0000
[20:27:15] [PUSH_TRACE] ⬇️ Processing embedded message_id=23848
[20:27:15] [PUSH_EMBED] 📩 Received embedded message: id=23848, type=0, sender=Esra
[20:27:15] [PUSH_TRACE] ⬇️ Message details: text="Media unavailable 🥲...", datesent=2026-03-06 19:27:07
[20:27:15] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[20:27:15] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23848
[20:27:15] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23848
[20:27:15] [PUSH_EMBED] ✅ Saved message 23848 to local DB (sync)
[20:27:15] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23848
[20:27:15] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23848
[20:27:15] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23848
[20:27:15] [PUSH_TRACE] 📦 Cache state: valid=true, count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [PUSH_TRACE] 📦 ⚠️ Message 23848 already in cache, skipping insert
[20:27:15] [PUSH_TRACE] 📦 EXITING cache update queue for message 23848
[20:27:15] [PUSH_EMBED] Fetching evolution data for message 23848 in background
[20:27:15] [PUSH_EMBED] ✅ Fully processed message 23848
[20:27:15] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23848
[20:27:15] [PUSH] Embedded message handled instantly on tap
[20:27:15] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[20:27:15] [PUSH] Fetching server messages since_id=23848 to catch coalesced notifications on tap
[20:27:15] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[20:27:15] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23848 to catch coalesced notifications
[20:27:15] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:27:15] [LIFECYCLE] App entering foreground - restoring connections
[20:27:15] [PUSH_TRACE] 🔄 FOREGROUND: memory has 54 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [UPLOAD_RETRY] No pending uploads to retry
[20:27:15] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[20:27:15] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted)
[20:27:15] [LIFECYCLE] WebRTC audio re-enabled
[20:27:15] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[20:27:15] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[20:27:15] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[20:27:15] [VIEWER] Reconnecting after background - querying agents
[20:27:15] [UNSENT_RETRY] Checking for unsent messages...
[20:27:15] [PENDING_UPLOAD] Total pending upload messages: 0
[20:27:15] [UNSENT_RETRY] No unsent messages found
[20:27:15] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[20:27:15] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[20:27:15] [PUSH_TRACE] 👁️ Received message id=23848, text="Media unavailable 🥲..."
[20:27:15] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[20:27:15] [PUSH_UI] Message 23848 already in memory - skipping insert
[20:27:15] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists
[20:27:15] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=63
[20:27:15] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[23848, 23847, 23846, 23845, 23844]
[20:27:15] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages
[20:27:15] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [RELOAD_TAB] 📊 Building chatRows from 54 messages
[20:27:15] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0
[20:27:15] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:27:15] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:27:15] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:27:15] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:27:15] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63
[20:27:15] [CLIENT_SIG] WebSocket opened
[20:27:15] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[20:27:15] [CLIENT_SIG] Connected! clientId=lJr2FiRVzUozKjz7
[20:27:15] [PUSH_EMBED] Got evolution data for message 23848, saving to local DB
[20:27:15] [PUSH_EMBED] Saved evolution data for message 23848
[20:27:15] [PUSH_EMBED] Got evolution data for message 23848, saving to local DB
[20:27:15] [PUSH_EMBED] Saved evolution data for message 23848
[20:27:15] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU')
[20:27:15] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)
[20:27:15] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:27:15] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions
[20:27:15] [FOREGROUND] Enriched 2/2 unsettled messages with readBy data
[20:27:15] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=54>53=true, maxId=23848>23847=true, shouldScroll=true
[20:27:15] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[20:27:15] [PUSH_PRELOAD] No messages or parse error
[20:27:15] [PUSH] Server fetch on tap completed (success=false)
[20:27:15] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): {
datesent = "2026-03-06 19:27:07";
"file_name" = "";
message = "Media unavailable \Ud83e\Udd72";
"message_id" = 23848;
"message_type" = 0;
"prev_session_message_id" = 23847;
"replied_message" = "";
"replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF";
"replied_sender_name" = Laurent;
"reply_to_id" = 23841;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23848, AnyHashable("operation_type"): 0]
[20:27:15] [PUSH_EMBED_VC] Message 23848 already in memory - skipping
[20:27:15] [PUSH] ⚡ Embedded message handled directly in ViewController
[20:27:15] [PUSH] Parsed message_id: 23848
[20:27:15] [PUSH] Parsed operation_type: 0
[20:27:15] [PUSH] Taking direct action: opType=0, messageId=23848
[20:27:15] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23848
[20:27:15] [PUSH] ⚡ Message 23848 already in memory - skipping duplicate notification entirely
[20:27:15] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[20:27:15] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[20:27:15] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [PUSH] handlePollEventsNotification userInfo: [:]
[20:27:15] [PUSH] No message_id in userInfo
[20:27:15] [PUSH] No operation_type in userInfo
[20:27:15] [FAST_REFRESH] Evolution disabled - performing incremental sync
[20:27:15] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [PUSH_TRACE] 📬 POLL: memory state: count=54, first 10 IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:15] [FAST_REFRESH] Already have 54 messages in memory
[20:27:15] [FAST_REFRESH] maxMemoryId=23848, maxLocalId=23848
[20:27:15] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true
[20:27:15] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[20:27:15] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[20:27:15] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully
[20:27:15] [READBY_OPT] No message IDs to fetch - skipping server call
[20:27:15] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=54
[20:27:15] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23848, maxMemoryId=23848
[20:27:15] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23848
[20:27:15] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data
[20:27:15] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54
[20:27:15] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[20:27:16] [INCREMENTAL_SYNC] ✅ No new messages
[20:27:16] [FAST_REFRESH] Incremental sync complete - 54 messages
[20:27:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=63
[20:27:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[23848, 23847, 23846, 23845, 23844]
[20:27:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages
[20:27:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:16] [RELOAD_TAB] 📊 Building chatRows from 54 messages
[20:27:16] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0
[20:27:16] [SCROLL] 💓 alive, visible=47...54, rows=55, estHeight=0.0, heightCalls=0
[20:27:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2
[20:27:16] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading
[20:27:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:27:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false
[20:27:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63
[20:27:17] [PIN_AUTH] Correct PIN
[20:27:17] [SECURITY] Restored real session: ILUIWU
[20:27:17] [SECURITY] Restored real session: ILUIWU
[20:27:17] [PUSH] Silent push received
[20:27:17] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:27:17 +0000, appState=0, message_id=nil
[20:27:17] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:17] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:17 +0000
[20:27:17] [PUSH_EMBED] No embedded message_data in notification
[20:27:17] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[20:27:17] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839], handled=false
[20:27:17] [PUSH] No embedded data, pre-loading messages from server
[20:27:17] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:27:17] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true
[20:27:17] [FAKE MODE] Exiting fake mode, restoring real session
[20:27:17] [SECURITY] Restored real session: ILUIWU
[20:27:17] [SECURITY] Saved real session: ILUIWU
[20:27:17] [FAKE MODE] ✅ Restored real session: ILUIWU
[20:27:17] [FAKE MODE] Loaded 50 messages (limited to page size)
[20:27:17] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[20:27:17] [READBY_OPT] No message IDs to fetch - skipping server call
[20:27:17] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler)
[20:27:17] [AUTH] Cache had 53 messages, maxExistingId=23848, inserted 0 truly new
[20:27:17] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>53=false, maxId=23848>23847=true, shouldScroll=true
[20:27:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:27:17] [AUTH] UI update complete
[20:27:17] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data
[20:27:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:27:17] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[20:27:17] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[20:27:17] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[20:27:17] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:27:17] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[20:27:17] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:17] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache
[20:27:17] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push)
[20:27:17] [SCROLL] 💓 alive, visible=43...50, rows=51, estHeight=0.0, heightCalls=122
[20:27:17] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[20:27:17] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[20:27:17] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[20:27:17] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:17] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 23848, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("operation_type"): 3]
[20:27:17] [PUSH] Parsed message_id: 23848
[20:27:17] [PUSH] Parsed operation_type: 3
[20:27:17] [PUSH] Taking direct action: opType=3, messageId=23848
[20:27:17] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23848
[20:27:17] [USER] ✅ User registered successfully
[20:27:17] [PUSH] User registration after token update: success
[20:27:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[20:27:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23848, 23847, 23846, 23845, 23844]
[20:27:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[20:27:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:17] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[20:27:17] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[20:27:17] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[20:27:17] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[20:27:17] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:27:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59
[20:27:18] [CLIENT_SIG] Event received: type=3 messageId=23848
[20:27:18] [WS_EVENT] Received event: type=3, messageId=23848
[20:27:18] [WS_EVENT] Read receipt for message 23848 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:27:19] [MENU] dismissAnyExistingMenu called
[20:27:19] [MENU] dismissAnyExistingMenu completed
[20:27:19] [SCROLL] 💓 alive, visible=43...50, rows=51, estHeight=0.0, heightCalls=60
[20:27:19] [MENU] dismissAnyExistingMenu called
[20:27:19] [MENU] dismissAnyExistingMenu completed
[20:27:20] [NETWORK] Status changed: connected
[20:27:20] [SCROLL] 💓 alive, visible=43...46, rows=51, estHeight=0.0, heightCalls=5
[20:27:20] [SCROLL_BTN] Showing button - 306pt from bottom > half 223pt
[20:27:28] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply
[20:27:28] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false
[20:27:28] [SEND_MESSAGE] ✅ Added optimistic message id=-3 to arrays, newMsgCount=51
[20:27:28] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=7
[20:27:28] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-3, 23848, 23847, 23846, 23845]
[20:27:28] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages
[20:27:28] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-3, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840]
[20:27:28] [RELOAD_TAB] 📊 Building chatRows from 51 messages
[20:27:28] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0
[20:27:28] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[20:27:28] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo
[20:27:28] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured
[20:27:28] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[20:27:28] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[20:27:28] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:27:28] [SCROLL] 💓 alive, visible=44...51, rows=52, estHeight=0.0, heightCalls=114
[20:27:30] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23849,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 19:27:29"}
[20:27:30] [CLIENT_SIG] Event received: type=0 messageId=23849
[20:27:30] [WS_EVENT] Received event: type=0, messageId=23849
[20:27:30] [CHAT] receive_message.php JSON: ["file_name": , "message_id": 23849, "message_type": 0, "session_id": ILUIWU, "datesent_utc": 2026-03-06 19:27:29, "ok": 1]
[20:27:30] [WS_EVENT] 📨 New message notification (msgId=23849) - triggering incremental refresh, currentMsgCount=51
[20:27:30] [DB_UPGRADE] Upgrading message ID: -3 → 23849, preserveOriginalDate=false
[20:27:30] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51
[20:27:30] [DB_UPGRADE] ✅ Upgraded -3 → 23849 with send_status=0, 1 row(s) affected
[20:27:30] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23849, maxMemoryId=23848
[20:27:30] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23849
[20:27:30] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -3 → 23849
[20:27:30] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -3 → 23849
[20:27:30] ReloadData 9
[20:27:30] [INCREMENTAL_SYNC] ✅ No new messages
[20:27:30] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51
[20:27:31] [LIFECYCLE] App resigning active - cleared crash flag
[20:27:31] [PUSH] Silent push received
[20:27:31] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:27:31 +0000, appState=1, message_id=nil
[20:27:31] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:31] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:31 +0000
[20:27:31] [PUSH_EMBED] No embedded message_data in notification
[20:27:31] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data
[20:27:31] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839], handled=false
[20:27:31] [PUSH] No embedded data, pre-loading messages from server
[20:27:31] [PUSH_PRELOAD] Fetching messages for instant display cache
[20:27:32] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display
[20:27:32] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU
[20:27:32] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840]
[20:27:32] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839]
[20:27:32] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23799]
[20:27:32] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23799]
[20:27:32] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840]
[20:27:32] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push)
[20:27:32] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails
[20:27:32] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840]
[20:27:32] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
"content-available" = 1;
}, AnyHashable("message_id"): 23849, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3]
[20:27:32] [PUSH] Parsed message_id: 23849
[20:27:32] [PUSH] Parsed operation_type: 3
[20:27:32] [PUSH] Taking direct action: opType=3, messageId=23849
[20:27:32] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23849
[20:27:32] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background
[20:27:32] [SECURITY] sceneDidEnterBackground - isAuthenticated=true
[20:27:32] [SECURITY] Saved background timestamp
[20:27:32] [LIFECYCLE] App entering background - cleared crash flag
[20:27:32] [CLIENT_SIG] Disconnecting
[20:27:32] [LIFECYCLE] App entering background - disconnecting connections and stopping audio
[20:27:32] [DB] ✅ Chat database flushed (WAL checkpoint) before background
[20:27:32] [PUSH_TRACE] 💤 BACKGROUND: memory has 51 messages, first 10 IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840]
[20:27:32] [LIFECYCLE] Background snapshot: count=51, maxId=23849
[20:27:32] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3
[20:27:32] [WS] Canceling WebSocket for query connection to iosILUIWU
[20:27:32] In cleanupPeer
[20:27:32] In cleanupPeer
[20:27:32] [LIFECYCLE] WebRTC audio disabled
[20:27:32] [LIFECYCLE] AVAudioSession deactivated
[20:27:32] [LIFECYCLE] All connections stopped
[20:27:32] [CLIENT_SIG] WebSocket closed with code 1001
[20:27:32] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1)
[20:27:32] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/}
[20:27:32] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2)
[20:27:32] [SERVER] Stopped reconnect polling
[20:27:32] [WS] URLSession invalidated successfully
[20:27:32] Will request stop of video 0
[20:27:32] Will request stop of video 0
[20:27:32] [PIP] Removing 0 tracks from PiP for connection 0
[20:27:32] [PIP] ✅ All tracks removed for connection 0
[20:27:32] [PIP] Removing 0 tracks from PiP for connection 0
[20:27:32] [PIP] ✅ All tracks removed for connection 0
[20:27:32] [NETWORK] Status changed: connected
[20:27:42] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:27:42] [PUSH] Silent push received
[20:27:42] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:27:42 +0000, appState=2, message_id=23850
[20:27:42] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840]
[20:27:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:42 +0000
[20:27:42] [PUSH_TRACE] ⬇️ Processing embedded message_id=23850
[20:27:42] [PUSH_EMBED] 📩 Received embedded message: id=23850, type=0, sender=Esra
[20:27:42] [PUSH_TRACE] ⬇️ Message details: text="Thanks darling 🥰...", datesent=2026-03-06 19:27:40
[20:27:42] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU
[20:27:42] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23850
[20:27:42] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23850
[20:27:42] [PUSH_EMBED] ✅ Saved message 23850 to local DB (sync)
[20:27:42] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23850
[20:27:42] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23850
[20:27:42] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23850
[20:27:42] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840]
[20:27:42] [PUSH_EMBED] Inserted message 23850 into existing cache (now 52 messages)
[20:27:42] [PUSH_TRACE] 📦 ✅ Inserted message 23850, cache now has IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841]
[20:27:42] [PUSH_TRACE] 📦 EXITING cache update queue for message 23850
[20:27:42] [PUSH_EMBED] Fetching evolution data for message 23850 in background
[20:27:42] [PUSH_EMBED] ✅ Fully processed message 23850
[20:27:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23850
[20:27:42] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841], handled=true
[20:27:42] [PUSH] Embedded message handled instantly from silent push
[20:27:42] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification
[20:27:42] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23850
[20:27:42] [PUSH_UI] 🔔 handlePushMessageReceived CALLED
[20:27:42] [PUSH_TRACE] 👁️ handlePushMessageReceived START
[20:27:42] [PUSH_TRACE] 👁️ Received message id=23850, text="Thanks darling 🥰..."
[20:27:42] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0
[20:27:42] [PUSH_TRACE] 👁️ BEFORE insert: 51 messages, first 5 IDs: [23849, 23848, 23847, 23846, 23845]
[20:27:42] [PUSH_TRACE] 👁️ Inserted message 23850 at index 0
[20:27:42] [PUSH_UI] Inserted message 23850 into UI (now 52 messages)
[20:27:42] [PUSH_TRACE] 👁️ AFTER insert: 52 messages, first 5 IDs: [23850, 23849, 23848, 23847, 23846]
[20:27:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=52
[20:27:42] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success
[20:27:42] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 52 msgs, IDs=[23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841]
[20:27:42] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): {
alert = {
body = "New message received";
title = Eye;
};
badge = 1;
"content-available" = 1;
sound = default;
}, AnyHashable("message_id"): 23850, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): {
datesent = "2026-03-06 19:27:40";
"file_name" = "";
message = "Thanks darling \Ud83e\Udd70";
"message_id" = 23850;
"message_type" = 0;
"prev_session_message_id" = 23849;
"sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE";
"sender_name" = Esra;
"session_id" = ILUIWU;
timer = 0;
}]
[20:27:42] [PUSH_EMBED_VC] Message 23850 already in memory - skipping
[20:27:42] [PUSH] ⚡ Embedded message handled directly in ViewController
[20:27:42] [PUSH] Parsed message_id: 23850
[20:27:42] [PUSH] Parsed operation_type: 0
[20:27:42] [PUSH] Taking direct action: opType=0, messageId=23850
[20:27:42] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23850
[20:27:42] [PUSH] ⚡ Message 23850 already in memory - skipping duplicate notification entirely
[20:27:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=59
[20:27:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[23850, 23849, 23848, 23847, 23846]
[20:27:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages
[20:27:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841]
[20:27:43] [RELOAD_TAB] 📊 Building chatRows from 52 messages
[20:27:43] [RELOAD_TAB] 📊 Built 53 chatRows, estHeight=0.0
[20:27:43] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23849 → 23850
[20:27:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61
[20:27:43] [CLIENT_SIG] WebSocket opened
[20:27:43] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[20:27:43] [CLIENT_SIG] Connected! clientId=W01S9dxl4p2wI0h2
[20:28:53] [CRASH] No crash detected
[20:28:53] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[20:28:53] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[20:28:53] [GIPHY] SDK not available - using REST API fallback
[20:28:53] [BACKGROUND] Background fetch enabled
[20:28:53] [SECURITY] Initial launch - within timeout (80.99754476547241s < 300.0s)
[20:28:53] [AUTH] Starting PIN authentication
[20:28:53] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[20:28:53] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:28:53] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[20:28:53] [CLEANUP] No old timer messages to delete
[20:28:53] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[20:28:53] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[20:28:53] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23850)...
[20:28:53] [CLIENT_SIG] WebSocket opened
[20:28:53] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[20:28:53] [CLIENT_SIG] Connected! clientId=9D92aAi2vXmnxNYI
[20:28:53] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[20:28:53] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:28:53] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[20:28:53] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[20:28:53] [USER] ✅ User registered successfully
[20:28:53] [PUSH] User registration after token update: success
[20:28:53] [PRELOAD] No messages or parse error
[20:28:55] [PIN_AUTH] Correct PIN
[20:28:55] [SECURITY] Restored real session: ILUIWU
[20:28:55] [SECURITY] Restored real session: ILUIWU
[20:28:55] [SECURITY] Saved real session: ILUIWU
[20:28:55] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[20:28:55] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[20:28:55] [UPLOAD_QUEUE] ✅ Database integrity check passed
[20:28:55] [UPLOAD_QUEUE] Active background tasks: 6
[20:28:55] [UPLOAD_QUEUE] ✅ Active upload: id=969, file=edc609c733fd329e.jpg, taskId=8, age=2min
[20:28:55] [UPLOAD_QUEUE] ✅ Active upload: id=970, file=t_edc609c733fd329e.jpg, taskId=7, age=2min
[20:28:55] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=969, file=edc609c733fd329e.jpg, status=uploading, age=68min
[20:28:55] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=970, file=t_edc609c733fd329e.jpg, status=uploading, age=68min
[20:28:55] [UPLOAD_QUEUE] ⚠️ Found 2 uploads pending for >1 hour
[20:28:55] Documents Directory: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents
[20:28:55] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[20:28:55] [THEME] Applying current theme
[20:28:55] [CHAT] Applied day theme (mode: day)
[20:28:55] [SECURITY] Saved real session: ILUIWU
[20:28:55] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[20:28:55] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[20:28:55] [NETWORK] Network monitor started
[20:28:55] [NETWORK] Status changed: connected
[20:28:55] Did transition
[20:28:55] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[20:28:55] [VIEWER] Screen lock enabled - normal idle behavior
[20:28:55] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU
[20:28:55] [VCC] ========== VideoConnectionClass INIT ==========
[20:28:55] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[20:28:55] [DATA AUDIO] ========== setupWebRTC() START ==========
[20:28:55] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[20:28:55] [DATA AUDIO] Creating encoder/decoder factories...
[20:28:55] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[20:28:55] [CODEC] Viewer selected encoder: AV1 (best quality)
[20:28:55] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[20:28:55] [DATA AUDIO] ✅ Factory created
[20:28:55] [DATA AUDIO] RTCAudioSession locked
[20:28:55] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[20:28:55] [DATA AUDIO] RTCAudioSession unlocked
[20:28:55] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[20:28:55] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"]
[20:28:55] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[20:28:55] [WS] Opening session at ws://crivello.dyndns.org:8081/
[20:28:55] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[20:28:55] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[20:28:55] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:28:55] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[20:28:55] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[20:28:55] Did transition
[20:28:55] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[20:28:55] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[20:28:55] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:28:55] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[20:28:55] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[20:28:55] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted)
[20:28:55] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55'
[20:28:55] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46'
[20:28:55] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34'
[20:28:55] [USER] ✅ User registered successfully
[20:28:55] [USER] User registration successful
[20:28:55] [GALLERY_DB] ✅ Loaded 778 media messages
[20:28:55] [MIGRATION] No messages need sender_name backfill
[20:28:55] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[20:28:55] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23850, maxMemoryId=23850
[20:28:55] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23850
[20:28:55] [INCREMENTAL_SYNC] ✅ No new messages
[20:28:55] [GALLERY] Filtered 778 -> 735 (only with local thumbnails)
[20:28:55] [GALLERY] First 5 after sort (newest first):
[20:28:55] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg
[20:28:55] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg
[20:28:55] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg
[20:28:55] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg
[20:28:55] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov
[20:28:55] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0
[20:28:55] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[20:28:55] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[20:28:55] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846]
[20:28:55] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[20:28:55] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841]
[20:28:55] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[20:28:55] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[20:28:55] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[20:28:55] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[20:28:55] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[20:28:55] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[20:28:55] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:28:55] [SERVER] Starting reconnect polling (5s interval)
[20:28:55] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[20:28:55] [ICONS] Offset applied: -14.6
[20:28:55] [ICONS] New left margin: 11.2, New right margin: 11.3
[20:28:55] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions
[20:28:55] [READBY_ENRICH] Enriched 1/1 unsettled messages with readBy data
[20:28:55] [ICONS] Chat center: (31.2, 87.0)
[20:28:55] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[20:28:55] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[20:28:55] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[20:28:55] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[20:28:55] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[20:28:55] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[20:28:55] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[20:28:55] [ICONS] Screen width: 440.0
[20:28:55] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[20:28:55] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[20:28:55] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[20:28:55] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[20:28:55] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:28:55] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[20:28:55] [UNSENT_RETRY] Checking for unsent messages...
[20:28:55] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[20:28:55] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[20:28:55] [UPLOAD_RECOVERY] Session: ILUIWU
[20:28:55] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[20:28:55] [UPLOAD_RECOVERY] Checking recent media messages on server...
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete
[20:28:55] [UPLOAD_RECOVERY] Verifying 9 media files exist on server...
[20:28:55] [PENDING_UPLOAD] Total pending upload messages: 0
[20:28:55] [UNSENT_RETRY] No unsent messages found
[20:28:55] new_session POST ok: token len=157
[20:28:55] HELLO → sent (fetched token, role=query)
[20:28:55] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg
[20:28:55] [SIG] hello_ok received for query connection - ready to query agents
[20:28:55] [SIG] get_agents request sent for sessionId=ILUIWU
[20:28:55] [SIG] get_agents request sent for sessionId=iosILUIWU
[20:28:55] [SERVER] Stopped reconnect polling
[20:28:55] [SIG] agents_list received: []
[20:28:55] [SIG] agents_list received: []
[20:28:55] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files...
[20:28:55] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[20:28:55] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[20:28:55] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/edc609c733fd329e.jpg
[20:28:55] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[20:28:55] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[20:28:55] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=uploading)
[20:28:55] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg
[20:28:55] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=70
[20:28:55] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846]
[20:28:55] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[20:28:55] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841]
[20:28:55] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[20:28:55] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[20:28:55] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[20:28:55] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[20:28:55] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:28:55] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[20:28:55] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg
[20:28:55] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/t_edc609c733fd329e.jpg
[20:28:55] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[20:28:55] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB
[20:28:55] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=970, status=uploading)
[20:28:55] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61
[20:28:55] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg
[20:28:57] [MENU] dismissAnyExistingMenu called
[20:28:57] [MENU] dismissAnyExistingMenu completed
[20:28:57] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=62
[20:28:58] [SCROLL_BTN] Showing button - 385pt from bottom > half 379pt
[20:28:58] [MENU] dismissAnyExistingMenu called
[20:28:58] [MENU] dismissAnyExistingMenu completed
[20:28:58] [SCROLL] 💓 alive, visible=36...43, rows=51, estHeight=0.0, heightCalls=12
[20:29:02] [MENU] dismissAnyExistingMenu called
[20:29:02] [MENU] dismissAnyExistingMenu completed
[20:29:02] [SCROLL] 💓 alive, visible=37...43, rows=51, estHeight=0.0, heightCalls=0
[20:29:03] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=15
[20:29:04] [MENU] dismissAnyExistingMenu called
[20:29:04] [MENU] dismissAnyExistingMenu completed
[20:29:04] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=0
[20:29:05] [SCROLL] 💓 alive, visible=41...48, rows=51, estHeight=0.0, heightCalls=0
[20:29:06] [SCROLL] 💓 alive, visible=40...47, rows=51, estHeight=0.0, heightCalls=2
[20:29:50] [CRASH] Previous session did not exit cleanly - crash detected
[20:29:50] [FONT] Roboto fonts loaded successfully: Roboto-Regular
[20:29:50] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto
[20:29:50] [GIPHY] SDK not available - using REST API fallback
[20:29:50] [BACKGROUND] Background fetch enabled
[20:29:50] [AUTH] Starting PIN authentication
[20:29:50] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU
[20:29:50] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:29:50] [CLEANUP] No old timer messages to delete
[20:29:50] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c
[20:29:50] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false
[20:29:50] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow
[20:29:50] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23850)...
[20:29:50] [CLIENT_SIG] WebSocket opened
[20:29:50] [CLIENT_SIG] HELLO sent as client for session ILUIWU
[20:29:50] [CLIENT_SIG] Connected! clientId=g20RWg06SPPeVwTe
[20:29:50] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU')
[20:29:50] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF)
[20:29:50] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0}
[20:29:50] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[20:29:50] [USER] ✅ User registered successfully
[20:29:50] [PUSH] User registration after token update: success
[20:29:50] [PRELOAD] No messages or parse error
[20:29:51] [PIN_AUTH] Correct PIN
[20:29:51] [SECURITY] Restored real session: ILUIWU
[20:29:51] [SECURITY] Restored real session: ILUIWU
[20:29:52] [SECURITY] Saved real session: ILUIWU
[20:29:52] [SCENE] Launched directly to chat view with sessionId: ILUIWU
[20:29:52] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone)
[20:29:52] [UPLOAD_QUEUE] ✅ Database integrity check passed
[20:29:52] [UPLOAD_QUEUE] Active background tasks: 6
[20:29:52] [UPLOAD_QUEUE] ✅ Active upload: id=969, file=edc609c733fd329e.jpg, taskId=8, age=3min
[20:29:52] [UPLOAD_QUEUE] ✅ Active upload: id=970, file=t_edc609c733fd329e.jpg, taskId=7, age=3min
[20:29:52] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=969, file=edc609c733fd329e.jpg, status=uploading, age=69min
[20:29:52] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=970, file=t_edc609c733fd329e.jpg, status=uploading, age=69min
[20:29:52] [UPLOAD_QUEUE] ⚠️ Found 2 uploads pending for >1 hour
[20:29:52] Documents Directory: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents
[20:29:52] [UPLOAD_QUEUE] Found 0 pending uploads to resume
[20:29:52] [THEME] Applying current theme
[20:29:52] [CHAT] Applied day theme (mode: day)
[20:29:52] [SECURITY] Saved real session: ILUIWU
[20:29:52] [CLIENT_SIG] Setting up client signaling for session: ILUIWU
[20:29:52] [CLIENT_SIG] Already connected/connecting to session ILUIWU
[20:29:52] [NETWORK] Network monitor started
[20:29:52] [NETWORK] Status changed: connected
[20:29:52] Did transition
[20:29:52] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU
[20:29:52] [VIEWER] Screen lock enabled - normal idle behavior
[20:29:52] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU
[20:29:52] [VCC] ========== VideoConnectionClass INIT ==========
[20:29:52] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil
[20:29:52] [DATA AUDIO] ========== setupWebRTC() START ==========
[20:29:52] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device
[20:29:52] [DATA AUDIO] Creating encoder/decoder factories...
[20:29:52] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1
[20:29:52] [CODEC] Viewer selected encoder: AV1 (best quality)
[20:29:52] [DATA AUDIO] Creating RTCPeerConnectionFactory...
[20:29:52] [DATA AUDIO] ✅ Factory created
[20:29:52] [DATA AUDIO] RTCAudioSession locked
[20:29:52] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false
[20:29:52] [DATA AUDIO] RTCAudioSession unlocked
[20:29:52] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer
[20:29:52] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"]
[20:29:52] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU
[20:29:52] [WS] Opening session at ws://crivello.dyndns.org:8081/
[20:29:52] [QUERY] ✅ tempQueryConnection created for iosILUIWU
[20:29:52] [VIEWER_INIT] Already have 50 messages - just filtering for tab
[20:29:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:29:52] [EVENT_POLL] Event polling disabled - using WebSocket events instead
[20:29:52] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0
[20:29:52] Did transition
[20:29:52] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0)
[20:29:52] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent
[20:29:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:29:52] [RELOAD_TAB] ⏳ Already pending, waiting for debounce
[20:29:52] [GALLERY_DB] Loading ALL media messages for session: ILUIWU
[20:29:52] [READBY_OPT] No message IDs to fetch - skipping server call
[20:29:52] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55'
[20:29:52] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46'
[20:29:52] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34'
[20:29:52] [USER] ✅ User registered successfully
[20:29:52] [USER] User registration successful
[20:29:52] [GALLERY_DB] ✅ Loaded 778 media messages
[20:29:52] [MIGRATION] No messages need sender_name backfill
[20:29:52] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50
[20:29:52] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23850, maxMemoryId=23850
[20:29:52] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23850
[20:29:52] [INCREMENTAL_SYNC] ✅ No new messages
[20:29:52] [GALLERY] Filtered 778 -> 735 (only with local thumbnails)
[20:29:52] [GALLERY] First 5 after sort (newest first):
[20:29:52] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg
[20:29:52] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg
[20:29:52] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg
[20:29:52] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg
[20:29:52] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov
[20:29:52] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0
[20:29:52] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt
[20:29:52] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0
[20:29:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846]
[20:29:52] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[20:29:52] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841]
[20:29:52] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[20:29:52] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[20:29:52] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings
[20:29:52] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60
[20:29:52] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[20:29:52] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[20:29:52] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:29:52] [SERVER] Starting reconnect polling (5s interval)
[20:29:52] [ICONS] Screen width: 440.0, Tab spacing: 75.5
[20:29:52] [ICONS] Offset applied: -14.6
[20:29:52] [ICONS] New left margin: 11.2, New right margin: 11.3
[20:29:52] [READBY_ENRICH] Enriched 0/0 unsettled messages with readBy data
[20:29:52] [ICONS] Chat center: (31.2, 87.0)
[20:29:52] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5
[20:29:52] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5
[20:29:52] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5
[20:29:52] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5
[20:29:52] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5
[20:29:52] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2
[20:29:52] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3
[20:29:52] [ICONS] Screen width: 440.0
[20:29:52] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU
[20:29:52] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[20:29:52] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/
[20:29:52] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU
[20:29:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50
[20:29:52] [PURGE] ⚠️ Media cache purge DISABLED for debugging
[20:29:52] [UNSENT_RETRY] Checking for unsent messages...
[20:29:52] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ==========
[20:29:52] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF
[20:29:52] [UPLOAD_RECOVERY] Session: ILUIWU
[20:29:52] [UPLOAD_RECOVERY] ✅ No stuck uploads found
[20:29:52] [UPLOAD_RECOVERY] Checking recent media messages on server...
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete
[20:29:52] [UPLOAD_RECOVERY] Verifying 9 media files exist on server...
[20:29:52] [PENDING_UPLOAD] Total pending upload messages: 0
[20:29:52] [UNSENT_RETRY] No unsent messages found
[20:29:52] new_session POST ok: token len=157
[20:29:52] HELLO → sent (fetched token, role=query)
[20:29:52] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg
[20:29:52] [SIG] hello_ok received for query connection - ready to query agents
[20:29:52] [SIG] get_agents request sent for sessionId=ILUIWU
[20:29:52] [SIG] get_agents request sent for sessionId=iosILUIWU
[20:29:52] [SERVER] Stopped reconnect polling
[20:29:52] [SIG] agents_list received: []
[20:29:52] [SIG] agents_list received: []
[20:29:52] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files...
[20:29:52] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[20:29:52] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg
[20:29:52] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/edc609c733fd329e.jpg
[20:29:52] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[20:29:52] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB
[20:29:52] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=uploading)
[20:29:52] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg
[20:29:52] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ==========
[20:29:52] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg
[20:29:52] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/t_edc609c733fd329e.jpg
[20:29:52] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU
[20:29:52] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB
[20:29:52] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=970, status=uploading)
[20:29:52] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg
[20:29:52] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=70
[20:29:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846]
[20:29:52] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages
[20:29:52] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841]
[20:29:52] [RELOAD_TAB] 📊 Building chatRows from 50 messages
[20:29:52] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0
[20:29:52] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0
[20:29:52] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete
[20:29:52] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true
[20:29:52] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61
[20:29:54] [LOG] Long press on chat icon detected! Triggering log upload...
[20:29:54] [LOG-PROMPT] ====== promptForLogDescription START ======
[20:29:54] [LOG-PROMPT] presentedVC=nil
[20:29:54] [LOG-PROMPT] isViewLoaded=true, view.window=YES
[20:29:54] [LOG-PROMPT] inputField.isFirstResponder=false
[20:29:54] [LOG-PROMPT] allowKeyboardDismiss BEFORE=false
[20:29:54] [LOG-PROMPT] allowKeyboardDismiss set to TRUE
[20:29:54] [LOG-PROMPT] view.endEditing(true) returned true
[20:29:54] [LOG-PROMPT] inputField.isFirstResponder AFTER endEditing=false
[20:29:54] [LOG-PROMPT] allowKeyboardDismiss AFTER endEditing=true
[20:29:54] [LOG-PROMPT] No keyboard active — presenting alert immediately
[20:29:54] [LOG-ALERT] ---- presentLogDescriptionAlert about to present ----
[20:29:54] [LOG-ALERT] inputField.isFirstResponder=false, allowKeyboardDismiss=true
[20:29:54] [LOG-ALERT] final endEditing returned=true, inputField.isFirstResponder AFTER=false
[20:29:54] [LOG-ALERT] allowKeyboardDismiss AFTER final endEditing=true
[20:29:54] [LOG-ALERT] presentedVC=nil
[20:29:54] [LOG-ALERT] ---- present completion handler fired ----
[20:29:54] [LOG-ALERT] inputField.isFirstResponder=false
[20:29:54] [LOG-ALERT] textView.window=YES
[20:29:54] [LOG-ALERT] textView.canBecomeFirstResponder=true
[20:29:54] [LOG-ALERT] textView.isEditable=true, isUserInteractionEnabled=true
[20:29:54] [LOG-ALERT] textView.frame=(16.0, 64.0, 288.0, 100.0), isHidden=false, alpha=1.0
[20:29:54] [LOG-ALERT] textView.superview=Optional("<_UIAlertControllerPhoneTVMacView: 0x11b99c500; frame = (60 373; 320 238); layer")
[20:29:55] [LOG-ALERT] textView.becomeFirstResponder()=true
[20:29:55] [LOG-ALERT] ---- present completion handler done ----
[20:29:55] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=61
[20:29:59] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=0
[20:30:00] [LOG] Upload tapped with description: 'Unavailable2'
[20:30:00] [LOG] Uploading log as '2026-03-06-20-30-unavailable2-Laurent.log' (1.2 MB) to server...
[20:30:01] [LOG] Upload HTTP status: 200
[20:30:01] [LOG] Upload successful: 2026-03-06-20-30-unavailable2-Laurent.log