25c0bb2a79
Старый syncPending-баг успел залить локальный localState.read данными, которых нет на сервере. После фиксов firstTime=false для всех ключей в localState.read, и mark_read иначе никогда не уходил → каталог показывал 0 даже после реальных кликов. Решение: убрать оптимизацию firstTime. Слать mark_read КАЖДЫЙ раз — серверный код if(!arr.includes(mark_read)) arr.push(...) не добавит дубликат. Лишний POST стоит копейки, зато система самовосстанавливается без зависимости от загрузочного backfill.