tasks: спроектирован контракт приложения и переставлена голова очереди
- json-api-for-spa: адреса приложения уехали в своё пространство /app/, приём стал POST /app/audiorecords, опрос /api/status/:id убран, заведены список, карточка, текст, /app/me и /app/config; имя файла отправителя легло своей колонкой рядом с заголовком - три действия над записью — правка заголовка, возврат в работу и журнал событий — собраны задачей audiorecord-actions - голова очереди: контракт, каркас, экран загрузки, список, действия - в прежних задачах поправлены адреса, рубежи конвейера и остатки Telegram
This commit is contained in:
@@ -18,12 +18,14 @@ ogg после конвертации и запись об объекте, —
|
||||
|
||||
- связь задачи с копией: сегодня `transcribe_jobs.file` — одно поле на одну
|
||||
копию, и шаг схемы придётся добавлять;
|
||||
- контракт HTTP API из `json-api-for-spa` — адрес проигрываемой копии в ответе
|
||||
о записи;
|
||||
- контракт HTTP API из `json-api-for-spa` — признак наличия аудио в ответе о
|
||||
записи;
|
||||
- экран одной записи из `records-list-screen`;
|
||||
- отдачу файла хранилищем: `/api/files/...` отвечает на `Range` сам, но
|
||||
`audio/ogg` не входит в перечень типов, которые хранилище отдаёт с
|
||||
`Content-Disposition: inline`, — ogg-копия уходит вложением;
|
||||
- `GET /app/audiorecords/{id}/audio` — свой адрес отдачи копии, с поддержкой
|
||||
`Range`: ссылка хранилища в ответ не выходит, это норма `storage`. Отдачу
|
||||
пишем сами, и оба свойства чужого адреса переходят к нам обязанностью — ответ
|
||||
на `Range` и тип содержимого, при котором копия проигрывается, а не
|
||||
скачивается вложением;
|
||||
- периметр из [ADR-2026-08-12](../../docs/adr/ADR-2026-08-12-file-link-open-but-not-logged.md):
|
||||
ссылка на файл открыта знанием записи, и экран делает её видимой странице;
|
||||
- `docs/architecture.md` — какая копия считается проигрываемой.
|
||||
|
||||
Reference in New Issue
Block a user