Files
h-school/docs/phases/11-events/65-warning-pause.md
T

43 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Фаза 65. Варнинг и пауза
## Зависимости
- [Фаза 64](64-event-defs.md)
- [Фаза 39](../08-session/39-school-owners.md)
## Зачем
Ошибка и варнинг останавливают школу, пока хозяин не закроет карточку. F5 не проглатывает их.
## Задачи
- [x] `Notice` с `pause`: работник ставит `running=false`. `SetRunning(true)` игнор, пока есть
хотя бы одно такое уведомление (как нелегальный skip — не fatal)
- [x] Модал (не тост): висит, очередь если несколько, на экране один. Закрытие — dismiss
- [x] Sticky в сейве школы; после загрузки и Open — снова кадры. Info по-прежнему не сохранять
- [x] Dismiss pausing — только хозяин; гость кадр видит, dismiss игнор / HTTP `403` `not-owner`
- [x] Потолок 8 sticky; девятый не эмитить. После последнего dismiss часы сами не запускать
- [x] Ванильный `GenerationFailed` (error, pause) можно положить в каталог; эмит с портрета —
фаза 67, здесь достаточно тестового/внутреннего поста на доску
- [x] [`protocol.md`](../../protocol.md) — поведение паузы и прав, без лишнего бампа версии
(версия уже +1 в 64)
## Тесты, без которых фаза не закрыта
- [x] Пост pausing-notice: `running` становится false; последующий SetRunning(true) оставляет паузу
- [x] Dismiss последнего pausing: SetRunning(true) снова включает часы; без Play сами не идут
- [x] Сейв/загрузка: sticky на месте, info нет
- [x] Гость не снимает паузу dismiss-ом; хозяин снимает
- [x] Клиентский: модал не гаснет по TTL; очередь показывает следующий после закрытия
- [x] Хостовый: Open после рестарта работника отдаёт sticky, часы на паузе
## Критерий готовности
- Варнинг встаёт на паузу; Play серый/бесполезный, пока модал открыт
- Закрыли — можно нажать Play. F5: модал снова, пауза держится
- Гость модал видит и не закрывает школу
## Стоп
Не авто-Play. Не колонку. Не вклад сцены. Не кнопку «создать картинку». Не эмит Swarm в этой фазе.