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

56 lines
4.2 KiB
Markdown

# 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** экран не считается потерявшим доступ и не закрывается сам