0.8.33
Fixed
- Потерянный ход виден раньше: тишина в активном ходе — 4 минуты (было 10) до сверки статуса хода с сервером; снимок
thread/listи возврат из фона гасят залипший ход сразу, а не через десять минут - «thinking…» больше не залипает после сворачивания: подписка на live-события треда — это
thread/resume, и после обрыва WS новый сокет её не восстанавливал:turn/completedтерялся, WorkingBar вечно показывал «thinking…», а лечил только перезаход. Теперь после реконнекта (и на возврате из фона) активный тред перечитывается: подписка, страница ходов и сверка активного хода одной функциейreconcileTurn(ход жив — оставляем, сервер закрыл — гасим, у сервера другой активный ход — принимаем его) - Снимок
thread/listгасит потерянный ход: раньше он обновлял только карту статусов, и залипшийturnActiveне сбрасывался - Карточки не меняются под руками, пока читаешь историю вверху: видимое окно ленты замораживается, когда пользователь уходит от хвоста — новые карточки, сводки хода и перестановки (diff к концу блока и т.п.) идут в полный список и появляются при возврате к низу. Счётчик непрочитанных считается по полному списку, а не по видимому окну
- Лента не дёргается при новых сообщениях во время скролла: ручное восстановление позиции больше не срабатывает во время драга/флинга, а если анкерный элемент исчез (мердж карточек) — возвращаемся к ближайшему соседу