Нарезка задач под целевое состояние: PWA, вход, хранилище
Роадмап: 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 снята целиком и оставлена честной строкой до итога разведки. Открытые вопросы архитектуры, границы паспорта и триггеры метки ревью приведены в соответствие.
This commit is contained in:
+11
-2
@@ -120,8 +120,17 @@
|
||||
другим. Данные не переносим — начинаем с чистого листа.
|
||||
- **Учётные записи.** Вход через OIDC, провайдер — Authelia. Не решено, где
|
||||
живёт сессия и как связываются пользователь Telegram и пользователь веба.
|
||||
- **Веб-интерфейс.** Формы нет вовсе, есть только API. Конвенция веб-UI на htmx
|
||||
описана в [conventions/web-ui.md](conventions/web-ui.md) заранее.
|
||||
- **Приложение.** Экранов нет вовсе, есть только API. Решено делать SPA,
|
||||
устанавливаемое на телефон; фреймворк выбирает разведка
|
||||
`spa-framework-choice`, и до её итога
|
||||
[conventions/web-ui.md](conventions/web-ui.md) стоит почти пустой. Шаг сборки
|
||||
фронтенда меняет требования к машине разработчика и к образу — решение уровня
|
||||
ADR.
|
||||
- **Уведомления.** Пользователь веба узнаёт о готовности только опросом.
|
||||
Доставку решено брать внешнюю — apprise как отправитель, ntfy как канал; Web
|
||||
Push с VAPID отвергнут. Появляется внешняя зависимость, которой сегодня нет, и
|
||||
текст расшифровки начинает уходить на сторону — сдвиг периметра
|
||||
[security.md](security.md).
|
||||
- **Долгие записи.** Потолок сегодня неизвестен и не замерялся: 20 МиБ на приём
|
||||
из Telegram — точно, ограничения `deferred-general` по длине — нет.
|
||||
- **Формат для распознавания.** Конвертер отдаёт ogg/vorbis (`libvorbis`), а
|
||||
|
||||
Reference in New Issue
Block a user