Block a user
Frontend: render timestamps in the instance timezone (Intl), once there's a display
localized_text edit can leave a stale other-language sub-value
Per-account UI language preference (cross-device persistence)
Export a catalogue record as a PDF (offline backup + printable copy)
Audit vocabulary/term/authority creation (admin writes currently unaudited)
Make database connection pool size configurable
Add graceful shutdown to the HTTP server
OpenAPI: type SearchHitView.visibility as the Visibility enum (consistency with #29)
Type enum-valued fields (visibility, data_type, authority kind) as enums in OpenAPI
OpenAPI: type object
fields as an open map, not an empty object
Decide OpenAPI schema strategy for domain newtypes (keep
domain I/O-free)
Decide OpenAPI schema strategy for domain newtypes (keep
domain I/O-free)
Decision: Option A — allow the utoipa::ToSchema derive in domain.
Rationale: domain already carries serde/serde_json/time (data-shape deps, no real I/O), and utoipa is a…
Test gaps: field-definition 403 (backend) + authority-kind reveal (frontend)
Test gaps: field-definition 403 (backend) + authority-kind reveal (frontend)
Resolved in 0d971cd:
- Frontend authority-kind reveal test — added to
web/src/fields/fields.test.tsx(selects the Authority type, picks a kind, asserts the postedauthority_kind).…
Frontend M4 polish: ARIA tab semantics for authority kind tabs + remove unused i18n keys
Frontend: terms & authorities lists silently swallow load failures (no loading/error state)