Files
transcriber/tasks/items/upload-and-status-screen.md
T
av d21da8575c Единый список задач вместо двух секций, порядок по выполнению
Секции «Ядро» и «Инфра» слиты в одну «Очередь»: полок домена у проекта
нет, а две секции держали два независимых порядка вместо одного.

Порядок: красный гейт, потом долги, задевающие интерфейсы, потом
хранилище, вход, разграничение, приложение. Разведка потолков SpeechKit
последней — она обслуживает направление, а не очередь.
2026-08-10 21:39:55 +03:00

39 lines
2.6 KiB
Markdown

# ✨ Сделать экран загрузки записи и её состояния
- **Тип:** feature
- **Категория:** Очередь
- **Зачем:** Первое, ради чего приложение открывают: отдать файл и увидеть, что с ним происходит.
- **Теги:** goal:web-access
Двигает пункты 1 и 2 «Завершения» цели: экран принимает файл и заводит задачу, а
её состояние обновляется само, пока задача не дошла до `done` или `failed`.
Берётся после `spa-skeleton` и `json-api-for-spa`.
## Затрагивает
- новый экран приложения: выбор файла, отправка, показ состояния;
- опрос состояния задачи и его остановка;
- показ отказа человекочитаемым текстом из контракта API;
- предел размера загружаемого файла на стороне приложения и на стороне сервера
(`router.MaxMultipartMemory`, сегодня 32 МиБ);
- `docs/database.md` — частота опроса числом.
## Критерии приёмки
- Выбранный файл уходит на сервер и заводит задачу; экран сразу показывает её
состояние. Оракул — тест экрана на подставном API: после отправки на экране
идентификатор задачи и состояние `created`.
- Опрос сам прекращается, когда задача дошла до `done` или `failed`. Оракул —
тест: после ответа `done` новых запросов к API нет.
- Отказ задачи показывается человекочитаемым текстом, а не кодом и не сырой
ошибкой. Оракул — тест на ответе с состоянием `failed`.
- Файл больше предела отклоняется на экране до отправки, с названным числом.
Оракул — тест на файле сверх предела: запроса к API нет, на экране предел
числом.
## Рамки
Записи звука в приложении не делаем — файл выбирают в системном диалоге. Список
прошлых записей не делаем, это `records-list-screen`.