From 6d235278dcb4b1a4b1bda1269baf13df7fc3abac Mon Sep 17 00:00:00 2001 From: Prowler Bot Date: Tue, 10 Feb 2026 09:56:30 +0100 Subject: [PATCH] fix(ui): guard against unknown provider types in ProviderTypeSelector (#9995) Co-authored-by: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com> --- ui/CHANGELOG.md | 16 ++++++++++++ .../_components/provider-type-selector.tsx | 2 +- ui/app/(prowler)/providers/page.tsx | 25 ++++++++++++------- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/ui/CHANGELOG.md b/ui/CHANGELOG.md index 4dfb112faa..c717230284 100644 --- a/ui/CHANGELOG.md +++ b/ui/CHANGELOG.md @@ -2,6 +2,22 @@ All notable changes to the **Prowler UI** are documented in this file. +## [1.19.0] (Prowler UNRELEASED) + +### 🔄 Changed + +- Attack Paths: Query list now shows their name and short description, when one is selected it also shows a longer description and an attribution if it has it [(#9983)](https://github.com/prowler-cloud/prowler/pull/9983) + +--- + +## [1.18.2] (Prowler UNRELEASED) + +### 🐞 Fixed + +- ProviderTypeSelector crash when an unknown provider type is not present in PROVIDER_DATA [(#9991)](https://github.com/prowler-cloud/prowler/pull/9991) + +--- + ## [1.18.1] (Prowler v5.18.1) ### 🐞 Fixed diff --git a/ui/app/(prowler)/_overview/_components/provider-type-selector.tsx b/ui/app/(prowler)/_overview/_components/provider-type-selector.tsx index e5eb7928f3..e10fe361a9 100644 --- a/ui/app/(prowler)/_overview/_components/provider-type-selector.tsx +++ b/ui/app/(prowler)/_overview/_components/provider-type-selector.tsx @@ -153,7 +153,7 @@ export const ProviderTypeSelector = ({ // .filter((p) => p.attributes.connection?.connected) .map((p) => p.attributes.provider), ), - ) as ProviderType[]; + ).filter((type): type is ProviderType => type in PROVIDER_DATA); const renderIcon = (providerType: ProviderType) => { const IconComponent = PROVIDER_DATA[providerType].icon; diff --git a/ui/app/(prowler)/providers/page.tsx b/ui/app/(prowler)/providers/page.tsx index 6e52449c04..5cc1582364 100644 --- a/ui/app/(prowler)/providers/page.tsx +++ b/ui/app/(prowler)/providers/page.tsx @@ -13,7 +13,7 @@ import { } from "@/components/providers/table"; import { ContentLayout } from "@/components/ui"; import { DataTable } from "@/components/ui/table"; -import { ProviderProps, SearchParamsProps } from "@/types"; +import { PROVIDER_TYPES, ProviderProps, SearchParamsProps } from "@/types"; export default async function Providers({ searchParams, @@ -89,15 +89,22 @@ const ProvidersTable = async ({ return acc; }, {}) || {}; + // Exclude provider types not yet supported in the UI const enrichedProviders = - providersData?.data?.map((provider: ProviderProps) => { - const groupNames = - provider.relationships?.provider_groups?.data?.map( - (group: { id: string }) => - providerGroupDict[group.id] || "Unknown Group", - ) || []; - return { ...provider, groupNames }; - }) || []; + providersData?.data + ?.filter((provider: ProviderProps) => + (PROVIDER_TYPES as readonly string[]).includes( + provider.attributes.provider, + ), + ) + .map((provider: ProviderProps) => { + const groupNames = + provider.relationships?.provider_groups?.data?.map( + (group: { id: string }) => + providerGroupDict[group.id] || "Unknown Group", + ) || []; + return { ...provider, groupNames }; + }) || []; return ( <>