Files
transcriber/tasks/items/upload-progress.md
T
av d2c85af80a tasks: целевая картина пересобрана — три цели, тринадцать задач, сдвинутые границы
- паспорт: сервис объявлен архивом с бессрочным хранением записей и текстов,
  машинная вычитка расшифровки внутри границ, приложение — основной вход;
  добавлены две границы: не файловое хранилище общего назначения и не биллинг;
- заведены цели upload-reliability, user-settings, usage-stats и тринадцать
  задач; очередь пересобрана — сперва починки, затем разведки о хранилище,
  затем доступ и владелец, и только потом экраны;
- архитектура: четыре новых открытых вопроса — приём большого файла, учёт
  расхода, срок хранения, потолок шести часов.
2026-08-11 10:05:22 +03:00

2.4 KiB

Показывать ход загрузки записи на экране

  • Тип: feature
  • Категория: Очередь
  • Зачем: Гигабайтный файл уходит на сервер молча: до ответа сервера экран не отличает идущую загрузку от зависшей.
  • Теги: goal:upload-reliability

Двигает пункт 3 «Завершения» цели: ход загрузки виден числом, а не одним ожиданием.

Загрузка шестичасовой записи по сотовой сети идёт минутами. Пока сервер не ответил, экран показывает долю отправленного и позволяет её отменить.

Затрагивает

  • экран загрузки: доля отправленного по каждому файлу пачки и отмена;
  • отправка формы с отслеживанием хода вместо простого ожидания ответа;
  • поведение при обрыве связи: что видит человек и что предлагается дальше.

Критерии приёмки

  • Доля отправленного растёт по ходу загрузки и доходит до конца. Оракул — тест экрана на подставной отправке, отдающей события хода: показанные значения растут и заканчиваются на сотне.
  • Отмена прекращает загрузку, и задача на сервере не заводится. Оракул — тест: после отмены запрос прерван, вызовов приёма нет.
  • Обрыв связи показывается человекочитаемым текстом с предложением повторить, а не молчанием. Оракул — тест на отправке, завершающейся ошибкой сети.

Рамки

Докачки с места обрыва здесь нет — повтор начинает загрузку заново, а протокол докачки разбирает chunked-upload-choice. Берётся после upload-and-status-screen: экран заводит она.