хранилище переехало с PocketBase на SQLite со своим каталогом файлов
- база своя: два пула, захват одним UPDATE ... RETURNING, шаги схемы на goose под файловым замком, одна миграция начальной схемы вместо семи прежних - транспорт переписан на net/http: свои слои, свой ограничитель частоты, отдача файла с проверкой владельца; панель /_/ и пространство /api/ исчезли - по находкам ревью: журнал не пишет путь под корнем приложения, ключ бюджета читается справа налево, узнавание известного идёт читающим пулом
This commit is contained in:
@@ -74,15 +74,16 @@
|
||||
[webapp](../../openspec/specs/webapp/spec.md).
|
||||
- **Адреса обычные, а не после решётки** (`createWebHistory`). Отсюда требование
|
||||
к серверу: неизвестный путь **вне корней сервиса** отдаёт `index.html`, а не
|
||||
`404`; путь внутри корня в приложение не проваливается никогда. Корней
|
||||
сегодня три — `/api/` у хранилища, `/app/` у приложения, `/_/` у панели, —
|
||||
плюс `/health` и `/metrics` отдельными адресами. Корень `/auth/` снят
|
||||
2026-08-22 вместе с собственным входом, и пути под ним стали обычными путями
|
||||
вне корней. Приложение
|
||||
уехало из общего `/api/` решением владельца 2026-08-15: пространство
|
||||
принадлежит хранилищу, и обновление библиотеки вправе занять там имя рядом с
|
||||
нашим. Перечень корней сервису не описывают, а из него **порождают**
|
||||
регистрацию маршрутов: описанный порознь, он разошёлся бы с ними молча.
|
||||
`404`; путь внутри корня в приложение не проваливается никогда. Корень
|
||||
сегодня **один** — `/app/` у приложения, — плюс `/health` и `/metrics`
|
||||
отдельными адресами. Корни `/auth/`, `/api/` и `/_/` сняты 2026-08-22: первый
|
||||
ушёл с собственным входом, два других — со встроенным хранилищем и его
|
||||
панелью, и пути под ними стали обычными путями вне корней. Приложение уехало
|
||||
из общего `/api/` решением владельца 2026-08-15, и корень свой сохранило:
|
||||
соседа, ради которого выбирался, больше нет, а формы запросов и ответов от
|
||||
смены хранилища не изменились ни одним полем. Перечень корней сервису не
|
||||
описывают, а из него **порождают** регистрацию маршрутов: описанный порознь,
|
||||
он разошёлся бы с ними молча.
|
||||
- **Несовпавший ресурс разметкой не подменяется.** Путь под каталогом сборщика,
|
||||
которому не нашлось файла, отвечает `404`. Правило — вторая половина
|
||||
предыдущего: разметка прежней сборки называет ресурсы прежней сборки, и
|
||||
|
||||
Reference in New Issue
Block a user