From 3666f4ea6d8dfab335755e237acfed15768379ea Mon Sep 17 00:00:00 2001 From: Iu Date: Mon, 12 Oct 2026 12:15:03 +0300 Subject: [PATCH] chore(openspec): archive host-agnostic-object-urls and sync main specs --- .../.openspec.yaml | 0 .../design.md | 0 .../proposal.md | 0 .../specs/storage-backends/spec.md | 0 .../tasks.md | 0 openspec/specs/storage-backends/spec.md | 17 +++++++++++++++++ 6 files changed, 17 insertions(+) rename openspec/changes/{host-agnostic-object-urls => archive/2026-10-12-host-agnostic-object-urls}/.openspec.yaml (100%) rename openspec/changes/{host-agnostic-object-urls => archive/2026-10-12-host-agnostic-object-urls}/design.md (100%) rename openspec/changes/{host-agnostic-object-urls => archive/2026-10-12-host-agnostic-object-urls}/proposal.md (100%) rename openspec/changes/{host-agnostic-object-urls => archive/2026-10-12-host-agnostic-object-urls}/specs/storage-backends/spec.md (100%) rename openspec/changes/{host-agnostic-object-urls => archive/2026-10-12-host-agnostic-object-urls}/tasks.md (100%) diff --git a/openspec/changes/host-agnostic-object-urls/.openspec.yaml b/openspec/changes/archive/2026-10-12-host-agnostic-object-urls/.openspec.yaml similarity index 100% rename from openspec/changes/host-agnostic-object-urls/.openspec.yaml rename to openspec/changes/archive/2026-10-12-host-agnostic-object-urls/.openspec.yaml diff --git a/openspec/changes/host-agnostic-object-urls/design.md b/openspec/changes/archive/2026-10-12-host-agnostic-object-urls/design.md similarity index 100% rename from openspec/changes/host-agnostic-object-urls/design.md rename to openspec/changes/archive/2026-10-12-host-agnostic-object-urls/design.md diff --git a/openspec/changes/host-agnostic-object-urls/proposal.md b/openspec/changes/archive/2026-10-12-host-agnostic-object-urls/proposal.md similarity index 100% rename from openspec/changes/host-agnostic-object-urls/proposal.md rename to openspec/changes/archive/2026-10-12-host-agnostic-object-urls/proposal.md diff --git a/openspec/changes/host-agnostic-object-urls/specs/storage-backends/spec.md b/openspec/changes/archive/2026-10-12-host-agnostic-object-urls/specs/storage-backends/spec.md similarity index 100% rename from openspec/changes/host-agnostic-object-urls/specs/storage-backends/spec.md rename to openspec/changes/archive/2026-10-12-host-agnostic-object-urls/specs/storage-backends/spec.md diff --git a/openspec/changes/host-agnostic-object-urls/tasks.md b/openspec/changes/archive/2026-10-12-host-agnostic-object-urls/tasks.md similarity index 100% rename from openspec/changes/host-agnostic-object-urls/tasks.md rename to openspec/changes/archive/2026-10-12-host-agnostic-object-urls/tasks.md diff --git a/openspec/specs/storage-backends/spec.md b/openspec/specs/storage-backends/spec.md index 9a70b83..212a71f 100644 --- a/openspec/specs/storage-backends/spec.md +++ b/openspec/specs/storage-backends/spec.md @@ -109,3 +109,20 @@ #### Scenario: Хранилище недоступно - **WHEN** выбранный бэкенд не отвечает на проверку - **THEN** состояние здоровья отражает деградацию + +### Requirement: Хост-независимые URL объектов +Выдаваемый клиенту подписанный URL объекта SHALL быть относительным к текущему источнику +(same-origin) и SHALL не содержать настроенный хост. Просмотр и скачивание медиа SHALL +работать за любым хостом или обратным прокси без настройки внешнего базового URL. + +#### Scenario: Другой хост +- **WHEN** приложение доступно по адресу, отличному от адреса по умолчанию, и клиент запрашивает фото +- **THEN** URL объекта указывает на тот же источник, что и страница, и превью загружается без дополнительной настройки + +#### Scenario: Обратный прокси +- **WHEN** приложение доступно за обратным прокси +- **THEN** URL объектов сохраняют тот же источник, что и страница приложения + +#### Scenario: Подпись сохраняется +- **WHEN** клиент получает относительный URL объекта +- **THEN** подпись, срок действия и кэширование объекта работают как прежде