Files
ds-galo/openspec/changes/fix-large-album-load/specs/media-objects/spec.md
T
iu d7a37328f0 fix(photos): faster large-album loading and album cover lifecycle
Large albums opened slowly and flickered; the default album cover was
also lost in the media-objects refactor.

Large-album loading:
- quantize signed object URLs within a window and send Cache-Control so
  previews are reused instead of re-fetched
- publish photo.updated (not photo.created) when variants are ready, so
  clients update in place without reordering the grid
- worker concurrency + newest-first variant priority; raise default batch

Album cover:
- first uploaded photo becomes the cover when none is set
- clear the cover when the cover photo is trashed or moved out
- "set as album cover" in the photo context menu and actions panel

OpenSpec changes: fix-large-album-load, fix-album-cover
2026-10-11 14:15:59 +03:00

1.6 KiB

Spec Delta

MODIFIED Requirements

Requirement: Генерация вариантов

Генерация thumb и preview SHALL выполняться через надёжную очередь заданий с однократным выполнением и повтором при сбое; готовый результат SHALL транслироваться подписчикам альбома. Очередь SHALL поддерживать настраиваемую пропускную способность и SHALL обрабатывать более свежие фото раньше остальных.

Scenario: Повтор после рестарта

  • WHEN процесс перезапускается с незавершёнными заданиями
  • THEN генерация вариантов продолжается

Scenario: Событие после генерации

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

Scenario: Приоритет свежих фото

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

Scenario: Настраиваемая пропускная способность

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