chore(openspec): архивировать add-orphaned-preview-handling и синхронизировать спеки
Новое требование в phone-album-sync о потере/возврате серверной копии у разгруженного превью, требование в android-client о метке потерянного элемента и действии удаления с устройства.
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
# Spec Delta
|
||||
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Экран альбома устройства и настройки синхронизации
|
||||
|
||||
Приложение SHALL открывать альбом устройства с сеткой медиа и SHALL предоставлять
|
||||
настройки синхронизации этого альбома по свайпу вправо. Настройки SHALL содержать
|
||||
только выбор режима синхронизации.
|
||||
|
||||
#### Scenario: Открытие альбома устройства
|
||||
|
||||
- **WHEN** пользователь выбирает альбом устройства в списке
|
||||
- **THEN** открывается сетка медиа этого альбома
|
||||
|
||||
#### Scenario: Настройки по свайпу
|
||||
|
||||
- **WHEN** пользователь свайпает вправо в открытом альбоме устройства
|
||||
- **THEN** открываются настройки синхронизации с выбором режима и только им
|
||||
|
||||
#### Scenario: Метка перенесённого элемента
|
||||
|
||||
- **WHEN** оригинал элемента разгружен на сервер в режиме переноса
|
||||
- **THEN** в сетке на элементе показывается значок облака
|
||||
|
||||
#### Scenario: Метка потерянного элемента
|
||||
|
||||
- **WHEN** серверной копии разгруженного элемента больше нет в целевом альбоме
|
||||
- **THEN** в сетке на элементе показывается перечёркнутый значок облака
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Действия потерявшего серверную копию превью
|
||||
|
||||
Шит потерявшего серверную копию элемента SHALL предлагать действие «Удалить с
|
||||
устройства» и SHALL NOT показывать серверные атрибуты и действия.
|
||||
|
||||
#### Scenario: Только удаление с устройства
|
||||
|
||||
- **WHEN** пользователь открывает атрибуты потерявшего серверную копию элемента
|
||||
- **THEN** доступно действие «Удалить с устройства», а серверные действия отсутствуют
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
# Spec Delta
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Обнаружение потери серверной копии превью
|
||||
|
||||
При проверке синхронизации приложение SHALL сопоставлять серверное фото каждого
|
||||
разгруженного превью с фото целевого альбома и при его отсутствии SHALL помечать
|
||||
элемент как потерявший серверную копию, сохраняя превью и провенанс.
|
||||
|
||||
#### Scenario: Копии больше нет
|
||||
|
||||
- **WHEN** серверное фото разгруженного превью отсутствует в целевом альбоме
|
||||
- **THEN** приложение помечает элемент как потерявший серверную копию
|
||||
|
||||
#### Scenario: Превью не трогается
|
||||
|
||||
- **WHEN** элемент помечен как потерявший серверную копию
|
||||
- **THEN** превью-файл на устройстве сохраняется и не загружается повторно как оригинал
|
||||
|
||||
### Requirement: Восстановление связи при возврате серверного фото
|
||||
|
||||
При проверке синхронизации приложение SHALL снимать пометку с элемента, если его
|
||||
серверное фото снова присутствует в целевом альбоме.
|
||||
|
||||
#### Scenario: Фото вернулось на сервер
|
||||
|
||||
- **WHEN** серверное фото помеченного элемента снова присутствует в целевом альбоме
|
||||
- **THEN** элемент возвращается к обычному разгруженному состоянию с серверной копией
|
||||
|
||||
### Requirement: Удаление потерянного превью с устройства
|
||||
|
||||
Приложение SHALL позволять удалить потерявшее серверную копию превью с устройства;
|
||||
удаление SHALL удалять превью-файл и запись локального индекса и SHALL NOT
|
||||
обращаться к серверу, поскольку копии там уже нет.
|
||||
|
||||
#### Scenario: Удаление с устройства
|
||||
|
||||
- **WHEN** пользователь удаляет потерявшее серверную копию превью с устройства
|
||||
- **THEN** превью-файл и запись локального индекса удаляются, а сервер не затрагивается
|
||||
|
||||
#### Scenario: Согласие системы
|
||||
|
||||
- **WHEN** превью-файл не принадлежит приложению
|
||||
- **THEN** удаление выполняется после системного согласия на удаление
|
||||
|
||||
### Requirement: Повторная заливка вернувшегося оригинала
|
||||
|
||||
Если содержимое с исходной контрольной суммой потерявшего копию элемента снова
|
||||
присутствует на устройстве, приложение SHALL загрузить его на сервер как новую
|
||||
загрузку этого элемента.
|
||||
|
||||
#### Scenario: Вернулся в тот же альбом
|
||||
|
||||
- **WHEN** оригинал с исходной контрольной суммой снова появился в альбоме устройства
|
||||
- **THEN** приложение загружает его в целевой серверный альбом
|
||||
|
||||
#### Scenario: Вернулся в другой альбом
|
||||
|
||||
- **WHEN** содержимое с исходной контрольной суммой присутствует в другом альбоме устройства
|
||||
- **THEN** приложение загружает его в целевой серверный альбом
|
||||
|
||||
#### Scenario: Режим переноса
|
||||
|
||||
- **WHEN** загрузка вернувшегося оригинала завершена в режиме переноса
|
||||
- **THEN** элемент снова проходит обычную разгрузку в превью
|
||||
Reference in New Issue
Block a user