From dbc1fb199b5290e6fe8a311f04ca06be5949dd52 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Fri, 13 Feb 2026 10:12:24 -0500 Subject: [PATCH] fix: correct settings JSX structure, update display name, improve params handling - Fix extra closing Box tag in SettingsPage causing blank display - Change display name from 'Sealed Secrets Plugin for Headlamp' to 'Sealed Secrets' - Use default values for params to avoid undefined in hooks (fixes retry button issue) Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude Co-Authored-By: Happy --- artifacthub-pkg.yml | 2 +- .../src/components/SealedSecretDetail.tsx | 8 ++++---- headlamp-sealed-secrets/src/components/SettingsPage.tsx | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/artifacthub-pkg.yml b/artifacthub-pkg.yml index 660f784..20d062d 100644 --- a/artifacthub-pkg.yml +++ b/artifacthub-pkg.yml @@ -2,7 +2,7 @@ # https://github.com/artifacthub/hub/blob/master/docs/metadata/artifacthub-pkg.yml version: 0.2.14 name: headlamp-sealed-secrets -displayName: Sealed Secrets Plugin for Headlamp +displayName: Sealed Secrets createdAt: "2026-02-12T00:00:00Z" description: A comprehensive Headlamp plugin for managing Bitnami Sealed Secrets with client-side encryption and RBAC-aware UI license: Apache-2.0 diff --git a/headlamp-sealed-secrets/src/components/SealedSecretDetail.tsx b/headlamp-sealed-secrets/src/components/SealedSecretDetail.tsx index 06e33c4..0342b80 100644 --- a/headlamp-sealed-secrets/src/components/SealedSecretDetail.tsx +++ b/headlamp-sealed-secrets/src/components/SealedSecretDetail.tsx @@ -57,15 +57,15 @@ function formatScope(scope: SealedSecretScope): string { * SealedSecret detail view component */ export function SealedSecretDetail() { - const { namespace, name } = useParams<{ namespace: string; name: string }>(); - const [sealedSecret, error] = SealedSecret.useGet(name, namespace); - const [secret] = K8s.ResourceClasses.Secret.useGet(name, namespace); + const { namespace = '', name = '' } = useParams<{ namespace: string; name: string }>(); + const [sealedSecret, error] = SealedSecret.useGet(name || undefined, namespace || undefined); + const [secret] = K8s.ResourceClasses.Secret.useGet(name || undefined, namespace || undefined); const [decryptKey, setDecryptKey] = React.useState(null); const [deleteDialogOpen, setDeleteDialogOpen] = React.useState(false); const [rotating, setRotating] = React.useState(false); const [canDecrypt, setCanDecrypt] = React.useState(false); const { enqueueSnackbar } = useSnackbar(); - const { permissions } = usePermissions(namespace); + const { permissions } = usePermissions(namespace || undefined); // Check if user can decrypt secrets (requires get permission on Secrets) React.useEffect(() => { diff --git a/headlamp-sealed-secrets/src/components/SettingsPage.tsx b/headlamp-sealed-secrets/src/components/SettingsPage.tsx index 2f82626..5577056 100644 --- a/headlamp-sealed-secrets/src/components/SettingsPage.tsx +++ b/headlamp-sealed-secrets/src/components/SettingsPage.tsx @@ -151,6 +151,6 @@ export function SettingsPage() {
8080
- + ); }