Files
ds-galo/openspec/changes/fix-album-cover/specs/photos/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.5 KiB

Spec Delta

MODIFIED Requirements

Requirement: Обложка по умолчанию

При загрузке фото система SHALL назначать его обложкой альбома, если обложка ещё не задана, то есть обложкой становится первое загруженное фото. Когда фото, выбранное обложкой, покидает альбом (помещено в корзину или перенесено в другой альбом), система SHALL снять обложку.

Scenario: Первое фото

  • WHEN фото загружено, и у альбома нет обложки
  • THEN система назначает это фото обложкой альбома

Scenario: Обложка уже задана

  • WHEN фото загружено, а обложка уже задана
  • THEN система не меняет обложку

Scenario: Фото-обложка в корзине

  • WHEN фото, назначенное обложкой, помещается в корзину
  • THEN система снимает обложку, и альбом отображается без обложки

Scenario: Фото-обложка перенесено

  • WHEN фото, назначенное обложкой, переносится в другой альбом
  • THEN система снимает обложку исходного альбома