Files
iu 14db79632a chore(openspec): архивировать android-live-albums и fix-album-cover-readiness
Дельта android-live-albums: android-client (+3 требования: живое обновление
списка, догон при переподключении, потеря доступа) и realtime (порядок списка
теперь правило отображения клиента).

Дельта fix-album-cover-readiness: realtime (+1 требование: album.updated при
готовности вариантов фото-обложки).
2026-10-16 12:48:32 +03:00

4.2 KiB

Spec Delta

ADDED Requirements

Requirement: Живое обновление списка альбомов

Пока пользователь авторизован, приложение SHALL поддерживать персональный поток и применять события жизненного цикла альбома к локальному кэшу: создавать или заменять альбом по полученному объекту и удалять его по идентификатору, не выполняя дополнительный запрос списка.

Scenario: Альбом создан или изменён в другом месте

  • WHEN в персональный поток приходит событие создания или изменения доступного альбома
  • THEN альбом появляется в списке или заменяется без запроса списка

Scenario: Неизвестное событие

  • WHEN в персональный поток приходит событие, не относящееся к жизненному циклу альбома
  • THEN приложение не меняет локальный список

Scenario: Навигация между экранами

  • WHEN пользователь переходит с главного экрана на другой экран приложения
  • THEN подписка на персональный поток не пересоздаётся

Scenario: Выход из аккаунта

  • WHEN пользователь выходит из аккаунта
  • THEN подписка на персональный поток закрывается

Requirement: Догон списка при переподключении персонального потока

После восстановления персонального потока приложение SHALL приводить локальный список альбомов в соответствие с серверным снимком, чтобы отразить изменения, пропущенные за время разрыва соединения.

Scenario: Переподключение

  • WHEN персональный поток восстановился после разрыва
  • THEN приложение перезапрашивает список альбомов, удаляя из кэша альбомы, которых на сервере больше нет

Requirement: Потеря доступа к альбому

Приложение SHALL переставать отображать альбом, удалённый владельцем или ставший недоступным после исключения участника: альбом SHALL исчезать из локального кэша и списка, а экран открытого альбома SHALL возвращаться к списку.

Scenario: Альбом удалён во время просмотра

  • WHEN владелец удаляет альбом, пока участник просматривает экран этого альбома
  • THEN экран перестаёт показывать альбом и возвращается к списку

Scenario: Участник исключён

  • WHEN участника исключают из альбома
  • THEN альбом исчезает из его списка, а открытый экран возвращается к списку

Scenario: Экран альбома не открыт

  • WHEN альбом удалён, а его экран не открыт
  • THEN карточка альбома исчезает из списка

Scenario: Отсутствие альбома в кэше без сети

  • WHEN приложение открывает экран альбома, которого нет в кэше, и сеть недоступна
  • THEN экран не считается потерявшим доступ и не закрывается сам