2.8 KiB
2.8 KiB
Фаза 65. Варнинг и пауза
Зависимости
Зачем
Ошибка и варнинг останавливают школу, пока хозяин не закроет карточку. F5 не проглатывает их.
Задачи
Noticeсpause: работник ставитrunning=false.SetRunning(true)игнор, пока есть хотя бы одно такое уведомление (как нелегальный skip — не fatal)- Модал (не тост): висит, очередь если несколько, на экране один. Закрытие — dismiss
- Sticky в сейве школы; после загрузки и Open — снова кадры. Info по-прежнему не сохранять
- Dismiss pausing — только хозяин; гость кадр видит, dismiss игнор / HTTP
403not-owner - Потолок 8 sticky; девятый не эмитить. После последнего dismiss часы сами не запускать
- Ванильный
GenerationFailed(error, pause) можно положить в каталог; эмит с портрета — фаза 67, здесь достаточно тестового/внутреннего поста на доску protocol.md— поведение паузы и прав, без лишнего бампа версии (версия уже +1 в 64)
Тесты, без которых фаза не закрыта
- Пост pausing-notice:
runningстановится false; последующий SetRunning(true) оставляет паузу - Dismiss последнего pausing: SetRunning(true) снова включает часы; без Play сами не идут
- Сейв/загрузка: sticky на месте, info нет
- Гость не снимает паузу dismiss-ом; хозяин снимает
- Клиентский: модал не гаснет по TTL; очередь показывает следующий после закрытия
- Хостовый: Open после рестарта работника отдаёт sticky, часы на паузе
Критерий готовности
- Варнинг встаёт на паузу; Play серый/бесполезный, пока модал открыт
- Закрыли — можно нажать Play. F5: модал снова, пауза держится
- Гость модал видит и не закрывает школу
Стоп
Не авто-Play. Не колонку. Не вклад сцены. Не кнопку «создать картинку». Не эмит Swarm в этой фазе.