chore(openspec): предложить phone-album-two-way-sync и обновить спеку phone-album-sync
Новое изменение: двусторонний миррор альбома устройства и серверного альбома (материализация серверных фото, признак происхождения, двусторонние удаления с явным намерением, устойчивое выключение, первый проход, n:1). Purpose основной спеки phone-album-sync обновлён под двустороннюю синхронизацию. Change проходит `openspec validate --strict`.
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# Spec Delta
|
||||
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Экран альбома устройства и настройки синхронизации
|
||||
|
||||
Приложение SHALL открывать альбом устройства с сеткой медиа и SHALL предоставлять
|
||||
настройки синхронизации этого альбома по свайпу вправо. Настройки SHALL содержать
|
||||
только выбор режима синхронизации. Сетка SHALL включать как локальные элементы, так и
|
||||
скачанные с сервера при двусторонней синхронизации.
|
||||
|
||||
#### Scenario: Открытие альбома устройства
|
||||
|
||||
- **WHEN** пользователь выбирает альбом устройства в списке
|
||||
- **THEN** открывается сетка медиа этого альбома
|
||||
|
||||
#### Scenario: Настройки по свайпу
|
||||
|
||||
- **WHEN** пользователь свайпает вправо в открытом альбоме устройства
|
||||
- **THEN** открываются настройки синхронизации с выбором режима и только им
|
||||
|
||||
#### Scenario: Метка перенесённого элемента
|
||||
|
||||
- **WHEN** оригинал элемента разгружен на сервер в режиме переноса
|
||||
- **THEN** в сетке на элементе показывается значок облака
|
||||
|
||||
#### Scenario: Метка потерянного элемента
|
||||
|
||||
- **WHEN** серверной копии разгруженного элемента больше нет в целевом альбоме
|
||||
- **THEN** в сетке на элементе показывается перечёркнутый значок облака
|
||||
|
||||
#### Scenario: Скачанный элемент в сетке
|
||||
|
||||
- **WHEN** серверное фото материализовано на устройстве
|
||||
- **THEN** элемент показывается в сетке альбома устройства наряду с локальными
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Серверный состав в сетке альбома устройства
|
||||
|
||||
Сетка альбома устройства SHALL отражать состав целевого серверного альбома: новые
|
||||
серверные фото SHALL появляться, а удалённые SHALL исчезать по мере синхронизации, без
|
||||
ручного обновления.
|
||||
|
||||
#### Scenario: Новое фото с сервера
|
||||
|
||||
- **WHEN** в целевом серверном альбоме появилось новое фото, и синхронизация прошла
|
||||
- **THEN** материализованный элемент появляется в сетке альбома устройства
|
||||
|
||||
#### Scenario: Фото удалено на сервере
|
||||
|
||||
- **WHEN** серверное фото удалено на сервере, и синхронизация прошла
|
||||
- **THEN** соответствующий элемент исчезает из сетки альбома устройства
|
||||
|
||||
#### Scenario: Обновление открытого экрана
|
||||
|
||||
- **WHEN** экран альбома устройства открыт, и синхронизация изменила состав
|
||||
- **THEN** сетка обновляется без ручного действия пользователя
|
||||
Reference in New Issue
Block a user