на мобилке, работают на вебсокетах. Есть таблица непрочитанных сообщений в чате, куда пишу последнее прочитанное сообщение в чате и если id прочитаного сообщения в чате < последнего существующего сообщения в чате — значит есть непрочитанные сообщения.
Пишем мы в таблицу прочитаных сообщений на момент выхода из чата, есть ивент по нажатию кнопки типа назад.
Появилась проблема, если юзер, находясь в чате, прибьет приложение из памяти, то мы не вызовем запись сообщения в прочитанные сообщения.
Какие могут быть варианты? Из идей: постоянно в риал-тайме, смотреть какой юзер находится в чате и на каждое сообщение в чате - слать ивент по сокету, типа вот new_message: id такой, прочитай его. Но это постоянная долбежка сокета и БД.
Буду рад услышать другие варианты, потому что с мобильщиком зашли в тупик
Отправлять событие о прочтении сразу после прочтения
типа при скролле сообщений? Тоже думали такое, но это какой-то жесткий секс будет на клиенте
Обсуждают сегодня