Заметки
Сообщение записалось, а Push не пришёл: проверьте завершение обработчика
Сообщение видно после обновления страницы, но сразу после отправки через собственный PHP-обработчик интерфейс молчит. Если запись уже есть, замена метода сохранения сообщения может ничего не изменить: проблема бывает в завершении запроса.
Push and Pull отправляет накопленные события на сервер рассылки в эпилоге. Собственный AJAX-обработчик, который подключил только prolog_before.php и завершился через exit, способен пропустить этот этап.
В таком обработчике после основной работы используйте предусмотренное завершение:
CMain::FinalActions(); Вызов ставится в конце, после формирования событий. Не добавляйте его внутрь каждой итерации и не дублируйте в компоненте, жизненным циклом которого уже управляет Framework.
Это объясняет конкретный разрыв: запись в базе выполнена, а события ещё не отправлены. Если обработчик корректно завершается, отдельно проверяются Push-сервер и настройки уведомлений получателя — звук и всплывающее окно не гарантируются самим фактом записи сообщения.
Документация: Push and Pull.