docs(17-05): deferred items from the UAT companions deploy
This commit is contained in:
@@ -21,3 +21,8 @@ Out-of-scope findings logged during execution. None blocks the plan that found i
|
||||
|
||||
1. **Hook validation messages reach the admin as phrase keys.** A `cabana.ValidationError` returned from a form hook (`FormBeforeCreate`, `FormAfterCreate`, …) is written as-is by `writeCRUDError` (`modules/cabana/crud.go`), while `cabana.ForbiddenError` messages and details are translated in the request locale. The admin SPA prints field errors raw (`FormField.vue` renders `{{ text }}`; `FormErrorBanner.vue` lists orphans raw), so an editor sees `golem15.menu::lang.errors.url_scheme` instead of the sentence. Affects the FAQ `errors.locale_required` and the menu `errors.url_scheme`, `errors.target`, `errors.type_unknown`, `errors.parent_cycle`, `errors.menu_required` refusals. Follow-up in the framework: translate `ValidationError.Details` phrase keys in the request locale like `ForbiddenError` (server side), so every client gets text.
|
||||
2. **Public API misses log once per request.** The menu API logs each left-out entry (unregistered type, unresolvable reference) at warn level on every request; with a stale entry in a busy menu that repeats per request (bounded by the 120 per minute throttle per client). Acceptable for now; a later change could log once per entry and boot.
|
||||
|
||||
## From 17-05 (site integration)
|
||||
|
||||
1. **Every public Go response sets the translate locale cookie.** On UAT, `/sitemap.xml`, `/_journal/api/v1/...` and the new `/_menu/api/v1/...` all answer `Set-Cookie: golem15.translate.locale=en; Path=/; Max-Age=31536000; HttpOnly` (Secure behind HTTPS), although the site's only enabled locale is `pl`. Pre-existing translate middleware behaviour (the Journal API had it before Phase 17); the Nuxt layers' SSR fetches ignore it, but browsers that call `/_menu/` or `/_faq/` and crawlers reading the sitemap receive it. Follow-up in sm-translate-plugin: set the cookie only when a request chose a locale, and never on anonymous read APIs or the sitemap.
|
||||
2. **Sitemap `lastmod` of imported Journal rows is the import time.** The Go sitemap's post and category `lastmod` come from `updated_at`, which the Phase 16 import set to 2026-10-09; the PHP sitemap shows the PHP edit times. Corrects itself as posts are edited; a one-off copy of the PHP `updated_at` values would align it before the production cutover.
|
||||
|
||||
Reference in New Issue
Block a user