- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
3.4 KiB
✨ Сделать экран списка своих записей и чтения текста
- Тип: feature
- Категория: Очередь — Список и чтение текста берутся после экрана загрузки — так записано в самой задаче.
- Зачем: Расшифровка сегодня доходит одним сообщением и теряется в переписке; вернуться к ней через неделю нечем.
- Теги: goal:web-access
Двигает пункты 3 и 4 «Завершения» цели: список своих записей открывается и листается, а готовый текст читается и копируется целиком.
Берётся после upload-and-status-screen.
Затрагивает
- новый экран списка и экран одной записи;
- постраничное чтение из контракта API;
- копирование текста в буфер обмена;
- показ записи, которая ещё в работе, — тем же состоянием, что на экране загрузки.
Критерии приёмки
- Список показывает записи вошедшего, новые сверху, и листается дальше первой страницы. Оракул — тест экрана на подставном API с двумя страницами.
- Текст готовой записи открывается целиком, без деления на части. Оракул — тест на записи с текстом длиннее предела сообщения Telegram: на экране весь текст.
- Текст копируется одним действием. Оракул — тест: после действия в буфере обмена тот же текст.
- Запись в работе показывается состоянием и доходит до текста без перезагрузки
экрана. Оракул — тест: подставной API отвечает
transcribe, затемdone; экран переходит к тексту сам.
Учесть от ревью 2026-08-12: имя файла в хранилище несёт хвост имени, данного
отправителем, — расширение берётся из него дословно, и запись
разговор.тайное-слово ложится на диск именем с этим хвостом. Сегодня наружу
оно не выходит: изъятие из инварианта приватности кончается журналом владельца.
Экран списка это меняет — имя попадает в ссылку на скачивание и в заголовок
ответа, то есть на страницу. Выхода за каталог хранения при этом нет, проверено
пятнадцатью враждебными именами.
Рамки
Поиска по тексту, переименования и удаления записей не делаем. Правки текста не делаем — это граница из паспорта: расшифровку отдаём как есть.