- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
2.2 KiB
2.2 KiB
🎯 Загрузка большого файла доходит до сервиса и не повторяется впустую
- Тип: goal
- Секция: Запланировано — Дедупликация и пачка файлов доводятся на готовом экране загрузки и экономят деньги с первого дня приложения.
- Зачем: Приём рассчитан на голосовое в пару мегабайт: обрыв на середине гигабайтного файла начинает загрузку заново, а один и тот же файл распознаётся повторно за наши деньги.
- Теги: decomposed
Человек отдаёт диктофонную запись или видео из семейного архива с телефона, по сотовой сети, и загрузка либо доходит, либо честно говорит, что не дошла. Отданное однажды второй раз не грузится и второй раз не распознаётся.
Дедупликация ищет совпадение в пределах одного пользователя: чужая расшифровка не достаётся по совпадению хеш-суммы, даже когда файл тот же.
Загрузка частями за целью пока не стоит: сначала один запрос, а протокол докачки разбирает разведка.
Завершение
- Файл, уже загруженный этим пользователем, узнаётся по хеш-сумме: сервис возвращает прежнюю запись и не заводит вторую задачу.
- До десяти файлов уходят одной загрузкой, и отказ одного не отменяет остальные.
- Ход загрузки виден на экране числом, а не одним ожиданием.
- Оборванная загрузка не оставляет ни файла в хранилище, ни задачи в очереди.