Skip to content

fix(frontend): handle cluster-scoped CRD links without failing on empty namespace#4935

Open
Utkarshpandey0001 wants to merge 1 commit intokubernetes-sigs:mainfrom
Utkarshpandey0001:fix/crd-empty-namespace-link
Open

fix(frontend): handle cluster-scoped CRD links without failing on empty namespace#4935
Utkarshpandey0001 wants to merge 1 commit intokubernetes-sigs:mainfrom
Utkarshpandey0001:fix/crd-empty-namespace-link

Conversation

@Utkarshpandey0001
Copy link
Copy Markdown

@Utkarshpandey0001 Utkarshpandey0001 commented Mar 21, 2026

Fixes #4921
This PR address issue #4921 where clicking the details link of a cluster-scoped custom resource (such as a ClusterVulnerabilityReport or other CVE-related plugins) crashed the UI with TypeError: Expected "namespace" to match "[^\/]+?", but received "".

The crashing behavior occurred because react-router requires all path parameters (like :namespace) to be non-empty, but cluster-scoped CRs naturally do not have a namespace. Attempting to use the customresource route fallback resulted in an empty parameter validation crash.

Changes made:

Added clusterCustomResource route in frontend/src/lib/router/index.tsx that explicitly omits the :namespace parameter (/customresources/:crd/:crName).
Updated Link Generation in CustomResourceList.tsx and CustomResourceInstancesList.tsx. It now dynamically checks if a namespace is present (cr.metadata.namespace). If it is, it uses the standard customresource route. If not, it uses the new clusterCustomResource route and omits the namespace param entirely.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Mar 21, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Utkarshpandey0001
Once this PR has been reviewed and has the lgtm label, please assign joaquimrocha for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Crash Report: Expected "namespace" to match "[^\/]+?", but received ""

2 participants