Document title follows the configured instance name (#323) #327
No reviewers
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#327
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "323-document-title-instance-name"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #323. Stacked on #326 (contains its commit; fast-forwardable once #326 merges).
useDocumentTitle pinned APP_NAME='Dorfteich' -- tab, bookmarks and the window title a screen reader announces (WCAG 2.4.2) always named the product, never the operator's instance. The trailing name now comes from the public branding query, same reasoning as the TopBar brand (#306). Until the query resolves (or when it cannot, e.g. maintenance mode) the shipped default keeps the title stable. Static index.html title stays the pre-JS placeholder (recorded in the issue; #179 territory).
The admin-settings e2e additionally asserts the title carries the new name right after saving, without a reload.
Local evidence: pack green against the dev stack (title assertion included); web unit suite 141 green; typecheck + lint green.
🤖 Generated with Claude Code
https://claude.ai/code/session_017aviRTgWCcAHUh1SBoxf6P
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_017aviRTgWCcAHUh1SBoxf6P1c757fb76eto6999b3dd73