Native archive применил 9 added и 12 modified требований без удалений; все 10 сценариев сохранены. Новый canonical spec frontend-user-feedback внесён в AI_INDEX.
5.3 KiB
MODIFIED Requirements
Requirement: Контекстная индикация действий и фонового обновления
Frontend MUST сохранять уже доступное содержимое или элемент управления основным контекстом, когда выполняется пользовательское действие либо фоновое обновление Client Cached Snapshot. Явное действие пользователя SHALL иметь компактную индикацию ожидания рядом с соответствующим элементом управления. Фоновое обновление при доступном результате MUST проходить без индикаторов, технических сообщений и объявлений о ходе работы. В обоих случаях frontend MUST NOT заменять уже доступный контекст skeleton placeholders.
Scenario: Выполняется пользовательское действие
- WHEN User запустил действие и его результат ещё ожидается
- THEN frontend сохраняет соответствующий элемент управления или окружающий контекст видимым, показывает компактную индикацию процесса и не заменяет интерфейс skeleton placeholders
Scenario: Обновляется уже показанный snapshot
- WHEN frontend обновляет данные при наличии видимого Client Cached Snapshot
- THEN frontend оставляет snapshot видимым без индикации фонового обновления и без замены snapshot skeleton placeholders
ADDED Requirements
Requirement: Первичное ожидание не становится бесконечной загрузкой
При отсутствии результата frontend SHALL сначала показывать структурное ожидание соответствующей области. После неуспешного завершения получения либо истечения ограниченного времени первичного ожидания область MUST переходить в спокойное локализованное состояние недоступности без технических подробностей и ручного повтора. Это состояние MUST NOT утверждать, что результат пустой, или требовать перезагрузки страницы. Продолжающееся автоматическое восстановление MUST NOT заставлять область постоянно переключаться между недоступностью и skeleton. После успешного получения содержимое SHALL появляться автоматически.
Отсутствие результата одной области MUST NOT скрывать остальные доступные области. Первичная загрузка MUST сохранять доступное обозначение занятости, а состояние недоступности MUST NOT продолжать объявляться бесконечно занятым.
Scenario: Первый результат успешно получен
- WHEN экран ожидает первый результат и получает его в пределах первоначального ожидания
- THEN структурные placeholders сменяются содержимым либо подтверждённым пустым состоянием
Scenario: Первое получение данных не удалось
- WHEN у области нет результата и первоначальная загрузка завершилась ошибкой или превысила ограниченное время ожидания
- THEN область показывает нейтральную недоступность без кнопки повтора, вымышленных данных и бесконечного индикатора занятости
Scenario: Восстановление продолжается после недоступности
- WHEN область уже показывает недоступность и выполняется очередная разрешённая попытка восстановления
- THEN область сохраняет устойчивое состояние без мигания skeleton и автоматически показывает содержимое после успеха
Scenario: Один блок недоступен
- WHEN основной результат загружен, а дополнительный блок не получил данных
- THEN состояние недоступности ограничено этим блоком и не заменяет доступное содержимое страницы