frontend: Ingress list Path column returns empty string preventing search/sort, and hosts are squashed together
Author: harshitttt077Created Sep 19, 2026Updated Sep 19, 2026
Labelskind/bug
Describe the bug
In the Ingresses list view (/c/:cluster/ingresses), there are multiple related issues in the table columns:
- Path search and sorting is broken: The
Pathcolumn hasgetValue: () => '', always returning an empty string. Because of this, users cannot filter, search, or sort ingresses by path or backend service name in the table filter. Typing an existing path or service name produces 0 results. - Column ID mismatch: The column labeled
Pathhasid: 'ports', which is an inaccurate leftover. - Hosts squashed together: The
Hostscolumn'sgetValueuses.join('')with no delimiter, squashing multiple hostnames into a single string (e.g.foo.combar.cominstead offoo.com, bar.com), which affects search matching and text copying. - Unsafe property access in RulesDisplay: In
frontend/src/components/ingress/List.tsx:37,backend.service.port.numberis accessed without optional chaining, which can throw an unhandledTypeErrorifbackend.service.portis omitted or undefined.
Code Reference
In frontend/src/components/ingress/List.tsx:81-97:
{
id: 'hosts',
label: t('Hosts'),
getValue: ingress =>
ingress
.getRules()
.map(r => r.host ?? '*')
.join(''),
render: ingress => (
<LabelListItem labels={ingress.getRules().map(({ host }) => host || '*')} />
),
},
{
id: 'ports',
label: t('translation|Path'),
getValue: () => '',
render: (ingress: Ingress) => <RulesDisplay ingress={ingress} />,
},Source: kubernetes-sigs/headlamp