Files
transcriber/tasks/items/upload-and-status-screen.md
T
av 5501384cdc tasks: упразднены цели и роадмап, объявлена стадия build
- 11 записей типа goal закрыты с причиной, называющей задачи-наследники;
  ROADMAP.md удалён, индекс остался один — BACKLOG.md;
- 33 записи переписаны: ссылка «Двигает пункты N «Завершения» цели» уступила
  место прямому утверждению — без целей номера пунктов вели в никуда;
- шапка BACKLOG.md размечена парой <!-- стадия -->, порядок строк теперь
  объявлен зависимостью, а не важностью.
2026-08-13 16:00:14 +03:00

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.