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