goauthentik / goauthentik/authentik

settings.navbar.userDisplay never renders

Open
#24,464 0 comments 0 reactions 2 assignees Claimed by @GirlBossRush View on GitHub
area:frontend bug/confirmed
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.