Files

35 lines
1.8 KiB
Markdown

# Фаза 45. Кружок в присутствии
## Зависимости
- [Фаза 42](42-talk-circles.md)
- [Фаза 19](../05-ai/19-presence-screen.md)
## Зачем
В панели локации видно, с кем и о чём говорят, без открытия карточки.
## Задачи
- [x] Кадр присутствия: у человека, который в кружке, список id участников и id темы.
Имена не строкой. Клиент собирает «говорит с Машей о футболе» из справочника и локали
- [x] Версия протокола +1. `ProtocolCodec.cs`, `protocol.ts`, `docs/protocol.md` в одном коммите
- [x] Не в кружке — пустой список, как сейчас только id/узел/состояние
- [x] Вкладка «Сейчас» на карточке согласована с тем же составом
- [x] Старый клиент отваливается Hello, как обычно
## Тесты, без которых фаза не закрыта
- [x] Круглый трип и байтовая раскладка человека с кружком и без — на обеих сторонах
- [x] Имя человека не встречается в кадре присутствия
- [x] Клиентский тест: локация показывает тему и имя напарника из directory, не из кадра
## Критерий готовности
- Клик по коридору на перемене: в «персонажах» видно, кто с кем говорит
- `dotnet test` и `npm test` / `build` проходят
## Стоп
Не политика речи. Не пак.