goauthentik / goauthentik/authentik
settings.navbar.userDisplay never renders
- Dominant language
- Python
- Stars
- 25.6k
- Forks
- 2k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 644
Description
### Describe the bug
`settings.navbar.userDisplay` (Brand attribute) has no visible effect — the configured value (`username`, `name`, or `email`) never renders in the top-right header, regardless of browser window size or display resolution. Only the avatar, settings gear, logout icon, and (for superusers) the "Admin interface" button are shown.
Inspecting the DOM shows the text **is** being rendered, but its containing element is unconditionally hidden:
```html
User's Name
```
The responsive-visibility modifier (`pf-m-visible-on-2xl`) is applied to the **inner** `header-tools-item`, while the unconditional `pf-m-hidden` class is applied to the **outer** `header-tools-group`. Per PatternFly's responsive-hiding convention, `pf-m-hidden` and its breakpoint override (`pf-m-visible-on-*`) need to be on the *same* element — the override class only works if it's on the element that also carries `pf-m-hidden`. Since the group's `display: none` removes the entire subtree from layout, the child's `pf-m-visible-on-2xl` can never take effect at any viewport width. Tested on a 4K display with a maximized browser window.
### How to reproduce
1. Set a Brand attribute:
```yaml
settings:
navbar:
userDisplay: name
```
2. Log in to the User interface (or Admin interface — same markup pattern applies to both).
3. Inspect the header-tools element in the top-right corner.
4. Observe that the configured display value is present in the DOM but never visible, at any window size.
### Expected behavior
The value configured in `settings.navbar.userDisplay` should render next to the avatar in the header, per the documented behavior at https://docs.goauthentik.io/customize/interfaces/user/#settingsnavbaruserdisplay.
### Screenshots
_No response_
### Additional context
## Suggested fix
Move the breakpoint modifier class onto the same element as `pf-m-hidden` (the `.pf-c-page__header-tools-group` wrapper), matching PatternFly's standard pattern, e.g.:
```html
User's Name
```
As a temporary workaround the following custom CSS in the Brand will force the element to appear:
```
.pf-c-page__header-tools-group.pf-m-hidden:has(.pf-m-visible-on-2xl) {
display: flex !important;
}
```
### Deployment Method
Docker
### Version
2026.5.6
### Relevant log output
```shell
```
Contributor guide
Assessment
This issue has not been assessed yet.