- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
29 lines
2.4 KiB
Markdown
29 lines
2.4 KiB
Markdown
# 🎯 Пользователь узнаёт о готовности текста, не держа приложение открытым
|
||
|
||
- **Тип:** goal
|
||
- **Секция:** Запланировано — Канал уведомлений выбирается в настройках, которые к этому месту уже есть.
|
||
- **Зачем:** Расшифровка занимает минуты, и всё это время человек либо смотрит на экран с опросом статуса, либо забывает вернуться.
|
||
- **Теги:** decomposed
|
||
|
||
Задача уходит в работу — человек закрывает приложение и получает сообщение,
|
||
когда текст готов. Пользователь Telegram это уже имеет: бот отвечает сам.
|
||
Пользователь веба — нет.
|
||
|
||
Каналов два: почта, адрес которой приходит вместе с входом через OIDC, и
|
||
Telegram для того, кто связал свою учётную запись с ботом. Доставку берём
|
||
внешнюю: apprise как отправитель, ntfy как один из каналов. Web Push с VAPID и
|
||
собственным хранением подписок за целью **не стоит** — это отдельная
|
||
инфраструктура ради того же результата.
|
||
|
||
## Завершение
|
||
|
||
1. Готовый текст доходит до пользователя веба сообщением, без открытого
|
||
приложения.
|
||
2. Отказ задачи доходит тем же путём и тем же человекочитаемым текстом, что
|
||
видит пользователь Telegram.
|
||
3. Канал и адрес уведомлений задаёт пользователь, а не общий конфиг: у каждого
|
||
свой, и от уведомлений можно отказаться.
|
||
4. Недоступность канала уведомлений не роняет задачу и не мешает ей завершиться:
|
||
текст остаётся в приложении.
|
||
5. Пользователь Telegram получает ответ по-прежнему ботом, а не вторым каналом.
|