This is an chat about the task. Make a title and summary description of the task with the \\n between title and description. Descrpition can be markdown formatter, but title must be not:

<@ao>: С телефона, если меняешь топики, а потом выходишь на главную, оказывается, что история помечена, как непрочитанная.
<@ao>: после обновления страницы
<@ao>: Такое случается при любом обновлении истории. В девелопменте легче воспроизвести – запросы дольше отрабатывают.
<@ao>: Накладываются два фактора:

`actual_updated_at` истории обновляется позже – берет время внутри транзакции БД. `read_at` вотчера передается на момент изменения компонента; может не передаваться совсем если быстро перейти или закрыть страницу.
Передавать событие о прочтении надо не сразу же после рендера истории или аннотации, а по истечении таймаута (несколько секунд). Сделать такой себе debounce.
Это должно привести к тому, что "прочтения" истории не будут приходить несколько раз за одну секунду, а также исправит сбивание счетчика непрочитанных историй.


<@ao>: С точки зрения структуры проекта стоит добавить эту логику в `utils`?