Роадмап: web-access переименована под приложение, которое ставится на телефон; заведена цель ready-notification — уведомление о готовности без открытого приложения. Беклог: десять задач. Многопользовательская цепочка (oidc-login, record-ownership, telegram-account-link), веб (json-api-for-spa, spa-skeleton, upload-and-status-screen, records-list-screen, installable-pwa), уведомления через apprise и ntfy, разведка выбора фреймворка. Очередь: долги, хранилище, вход, приложение. Решение сменилось с htmx на SPA, поэтому conventions/web-ui.md снята целиком и оставлена честной строкой до итога разведки. Открытые вопросы архитектуры, границы паспорта и триггеры метки ревью приведены в соответствие.
27 lines
2.2 KiB
Markdown
27 lines
2.2 KiB
Markdown
# 🎯 Записи загружаются и читаются в приложении, которое ставится на телефон
|
|
|
|
- **Тип:** goal
|
|
- **Секция:** Запланировано
|
|
- **Зачем:** Сегодня записи принимает только бот и голый HTTP API без интерфейса: отдать сервис человеку, у которого нет Telegram, нечем.
|
|
|
|
Приложение получает поверхность, на которой запись загружают и забирают текст,
|
|
не открывая Telegram и не вызывая API руками. Ставится оно на телефон и
|
|
открывается с ярлыка, как обычное приложение. Конвейер обработки при этом
|
|
остаётся прежним — меняется вход и способ показать результат.
|
|
|
|
Границы взяты уже: запись звука в самом приложении и работа без сети за целью
|
|
**не стоят** — файл выбирают в системном диалоге, а без сети приложение
|
|
показывает, что связи нет.
|
|
|
|
## Завершение
|
|
|
|
1. Экран принимает файл и заводит задачу — ту же, что заводит бот.
|
|
2. Состояние задачи видно на экране и обновляется само, пока задача не дошла до
|
|
`done` или `failed`; отказ показывается человекочитаемым текстом.
|
|
3. Готовый текст читается и копируется с экрана целиком, без деления на части.
|
|
4. Список своих записей открывается и листается.
|
|
5. Приложение ставится на телефон из браузера и запускается с ярлыка на
|
|
отдельном экране, без адресной строки.
|
|
6. Открытое без сети, приложение показывает это состоянием, а не пустой
|
|
страницей и не ошибкой браузера.
|