diff --git a/openspec/changes/android-album-restore-progress/.openspec.yaml b/openspec/changes/archive/2026-10-16-android-album-restore-progress/.openspec.yaml similarity index 100% rename from openspec/changes/android-album-restore-progress/.openspec.yaml rename to openspec/changes/archive/2026-10-16-android-album-restore-progress/.openspec.yaml diff --git a/openspec/changes/android-album-restore-progress/design.md b/openspec/changes/archive/2026-10-16-android-album-restore-progress/design.md similarity index 100% rename from openspec/changes/android-album-restore-progress/design.md rename to openspec/changes/archive/2026-10-16-android-album-restore-progress/design.md diff --git a/openspec/changes/android-album-restore-progress/proposal.md b/openspec/changes/archive/2026-10-16-android-album-restore-progress/proposal.md similarity index 100% rename from openspec/changes/android-album-restore-progress/proposal.md rename to openspec/changes/archive/2026-10-16-android-album-restore-progress/proposal.md diff --git a/openspec/changes/android-album-restore-progress/specs/android-client/spec.md b/openspec/changes/archive/2026-10-16-android-album-restore-progress/specs/android-client/spec.md similarity index 100% rename from openspec/changes/android-album-restore-progress/specs/android-client/spec.md rename to openspec/changes/archive/2026-10-16-android-album-restore-progress/specs/android-client/spec.md diff --git a/openspec/changes/android-album-restore-progress/specs/phone-album-sync/spec.md b/openspec/changes/archive/2026-10-16-android-album-restore-progress/specs/phone-album-sync/spec.md similarity index 100% rename from openspec/changes/android-album-restore-progress/specs/phone-album-sync/spec.md rename to openspec/changes/archive/2026-10-16-android-album-restore-progress/specs/phone-album-sync/spec.md diff --git a/openspec/changes/android-album-restore-progress/tasks.md b/openspec/changes/archive/2026-10-16-android-album-restore-progress/tasks.md similarity index 100% rename from openspec/changes/android-album-restore-progress/tasks.md rename to openspec/changes/archive/2026-10-16-android-album-restore-progress/tasks.md diff --git a/openspec/specs/android-client/spec.md b/openspec/specs/android-client/spec.md index 4f6fa39..c2a3d78 100644 --- a/openspec/specs/android-client/spec.md +++ b/openspec/specs/android-client/spec.md @@ -713,3 +713,24 @@ SHALL показывать значками расположение содер - **WHEN** пользователь открывает атрибуты потерявшего серверную копию элемента - **THEN** доступно действие «Удалить с устройства», а серверные действия отсутствуют + +### Requirement: Прогресс восстановления оригиналов + +Пока идёт восстановление оригиналов, карточка альбома устройства SHALL показывать ход в +третьей строке («Копии — восстановление <процент>%»), а экран альбома устройства SHALL +показывать ход отдельной строкой. По завершении ход SHALL исчезать. + +#### Scenario: Карточка в списке + +- **WHEN** для альбома устройства идёт восстановление оригиналов +- **THEN** карточка показывает «<метка режима> — восстановление <процент>%» + +#### Scenario: Экран альбома устройства + +- **WHEN** для альбома устройства идёт восстановление оригиналов +- **THEN** экран альбома показывает ход восстановления + +#### Scenario: Завершение + +- **WHEN** восстановление оригиналов завершилось +- **THEN** ход больше не показывается, а карточка возвращается к метке режима diff --git a/openspec/specs/phone-album-sync/spec.md b/openspec/specs/phone-album-sync/spec.md index c3094dc..7bcc305 100644 --- a/openspec/specs/phone-album-sync/spec.md +++ b/openspec/specs/phone-album-sync/spec.md @@ -303,3 +303,24 @@ API, а изменение содержимого SHALL трактовать к - **WHEN** загрузка вернувшегося оригинала завершена в режиме переноса - **THEN** элемент снова проходит обычную разгрузку в превью + +### Requirement: Ход и устойчивость восстановления оригиналов + +При возврате оригиналов на устройство приложение SHALL выполнять операцию до конца +независимо от того, остаётся ли открыт экран альбома устройства, и SHALL сообщать ход: +сколько элементов восстановлено из скольких намечено. + +#### Scenario: Уход с экрана + +- **WHEN** восстановление оригиналов запущено и пользователь покидает экран альбома устройства +- **THEN** восстановление продолжается и завершается + +#### Scenario: Ход операции + +- **WHEN** восстановление оригиналов идёт +- **THEN** приложение знает и сообщает, сколько элементов уже восстановлено из намеченных + +#### Scenario: Нечего восстанавливать + +- **WHEN** среди элементов альбома нет превью с серверной копией +- **THEN** операция не запускается и ход не показывается