tasks: целевая картина пересобрана — три цели, тринадцать задач, сдвинутые границы

- паспорт: сервис объявлен архивом с бессрочным хранением записей и текстов,
  машинная вычитка расшифровки внутри границ, приложение — основной вход;
  добавлены две границы: не файловое хранилище общего назначения и не биллинг;
- заведены цели upload-reliability, user-settings, usage-stats и тринадцать
  задач; очередь пересобрана — сперва починки, затем разведки о хранилище,
  затем доступ и владелец, и только потом экраны;
- архитектура: четыре новых открытых вопроса — приём большого файла, учёт
  расхода, срок хранения, потолок шести часов.
This commit is contained in:
av
2026-08-11 10:05:22 +03:00
parent 2333e80633
commit d2c85af80a
28 changed files with 730 additions and 61 deletions
+34
View File
@@ -0,0 +1,34 @@
# ✨ Показывать ход загрузки записи на экране
- **Тип:** feature
- **Категория:** Очередь
- **Зачем:** Гигабайтный файл уходит на сервер молча: до ответа сервера экран не отличает идущую загрузку от зависшей.
- **Теги:** goal:upload-reliability
Двигает пункт 3 «Завершения» цели: ход загрузки виден числом, а не одним
ожиданием.
Загрузка шестичасовой записи по сотовой сети идёт минутами. Пока сервер не
ответил, экран показывает долю отправленного и позволяет её отменить.
## Затрагивает
- экран загрузки: доля отправленного по каждому файлу пачки и отмена;
- отправка формы с отслеживанием хода вместо простого ожидания ответа;
- поведение при обрыве связи: что видит человек и что предлагается дальше.
## Критерии приёмки
- Доля отправленного растёт по ходу загрузки и доходит до конца. Оракул — тест
экрана на подставной отправке, отдающей события хода: показанные значения
растут и заканчиваются на сотне.
- Отмена прекращает загрузку, и задача на сервере не заводится. Оракул — тест:
после отмены запрос прерван, вызовов приёма нет.
- Обрыв связи показывается человекочитаемым текстом с предложением повторить, а
не молчанием. Оракул — тест на отправке, завершающейся ошибкой сети.
## Рамки
Докачки с места обрыва здесь нет — повтор начинает загрузку заново, а протокол
докачки разбирает `chunked-upload-choice`. Берётся после
`upload-and-status-screen`: экран заводит она.