7e17a2dba6
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 6999b3dd73 |
Document title follows the configured instance name (#323)
All checks were successful
CI / Lint, typecheck, test (pull_request) Successful in 6m58s
CI / Build container images (pull_request) Successful in 1m26s
CI / Auth e2e pack (pull_request) Successful in 9m7s
CI / Import/export fidelity gate (pull_request) Successful in 1m2s
CD / Build and push images (push) Successful in 13s
CD / Deploy to Test (push) Successful in 14s
CI / Lint, typecheck, test (push) Successful in 7m31s
CI / Build container images (push) Has been skipped
CD / Smoke tests against Test (push) Successful in 1m24s
CD / Promote to Int (push) Successful in 13s
CI / Auth e2e pack (push) Successful in 9m25s
CI / Import/export fidelity gate (push) Successful in 55s
useDocumentTitle pinned APP_NAME = 'Dorfteich', so every route title — tab, bookmarks, the window title a screen reader announces (WCAG 2.4.2) — named the product instead of the operator's instance. The trailing name now comes from the public branding query, exactly like the TopBar brand (#306); until the query resolves (or when it cannot, e.g. maintenance mode) the shipped default keeps the title stable, so an untouched instance reads exactly as before. The static index.html title stays the pre-JS placeholder — server-rendering it is #179's territory, deliberately out of scope (recorded in the issue). The admin-settings e2e now also asserts the title carries the new name right after saving, without a reload. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017aviRTgWCcAHUh1SBoxf6P |
|||
| 9f754649d4 |
Fix admin general settings form: dot-free field names, flat PATCH keys (#322)
The general and quota cards registered their react-hook-form fields under
the dotted settings keys. RHF treats dots as nested-path separators, so
the form DISPLAYED fine (its getter falls back to the literal flat key)
but typing nested the value ({ instance: { name } }) and the api's strict
PATCH schema rejected the body — none of these fields ever saved through
the UI, on any instance. Found by Stefan on a fresh self-hosted install.
- admin-settings-form.ts: dot-free form model with one explicit mapping
to the dotted settings keys and converters in both directions; the
submit now also carries ONLY the settings these cards edit, so the
internal branding metadata keys never ride along.
- Saving invalidates the branding query too — the TopBar reads the
instance name from it and kept the old name until its staleTime ran out.
- admin-settings.spec.ts (new e2e pack, registered in ci.yml): drives the
rename THROUGH THE FORM — success message, TopBar update without
reload, value survives reload, api returns it. Verified locally to fail
against the unfixed page and pass against the fix. Every existing
admin-settings test patched the api directly, which is why this bug was
invisible to CI.
- admin-settings-form.test.ts pins that no form field name contains a dot
and the mapping round-trips.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017aviRTgWCcAHUh1SBoxf6P
|