diff --git a/workspaces/extensions/.changeset/remove-certification-program.md b/workspaces/extensions/.changeset/remove-certification-program.md new file mode 100644 index 0000000000..3b303e0407 --- /dev/null +++ b/workspaces/extensions/.changeset/remove-certification-program.md @@ -0,0 +1,7 @@ +--- +'@red-hat-developer-hub/backstage-plugin-extensions-common': minor +'@red-hat-developer-hub/backstage-plugin-extensions': minor +'@red-hat-developer-hub/extensions-cli': minor +--- + +Removed the Plugin Certification Program. The `CERTIFIED_BY` annotation, certification badges, certified filter, and all related UI, translations, and metadata have been removed from the Extensions Catalog. diff --git a/workspaces/extensions/api/plugins/facets.bru b/workspaces/extensions/api/plugins/facets.bru index c9556f8cd3..e0db38078d 100644 --- a/workspaces/extensions/api/plugins/facets.bru +++ b/workspaces/extensions/api/plugins/facets.bru @@ -5,7 +5,7 @@ meta { } get { - url: {{baseURL}}/api/extensions/plugins/facets?facet=metadata.name&facet=metadata.namespace&facet=metadata.annotations.extensions.backstage.io/certified-by + url: {{baseURL}}/api/extensions/plugins/facets?facet=metadata.name&facet=metadata.namespace body: none auth: bearer } @@ -13,7 +13,6 @@ get { params:query { facet: metadata.name facet: metadata.namespace - facet: metadata.annotations.extensions.backstage.io/certified-by } auth:bearer { diff --git a/workspaces/extensions/docs/catalog/plugins.md b/workspaces/extensions/docs/catalog/plugins.md index f46642b3c2..3827c873f8 100644 --- a/workspaces/extensions/docs/catalog/plugins.md +++ b/workspaces/extensions/docs/catalog/plugins.md @@ -229,14 +229,6 @@ spec: ## Annotations -### Certification - -```yaml -metadata: - annotations: - extensions.backstage.io/certified-by: Company name -``` - ### Support type for Core and Community plugins ```yaml diff --git a/workspaces/extensions/docs/tools/cli.md b/workspaces/extensions/docs/tools/cli.md index 8af695616e..6c0c2fa5a6 100644 --- a/workspaces/extensions/docs/tools/cli.md +++ b/workspaces/extensions/docs/tools/cli.md @@ -225,7 +225,7 @@ The `export-csv` command parses extensions YAML files and generates CSV reports. - `name`, `title`, `author`, `categories`, `lifecycle` - `metadataDescription`, `specDescription`, `support`, `publisher`, `highlights` -- `certified-by`, `verified-by`, `pre-installed` +- `verified-by`, `pre-installed` - `packages`, `backend packages`, `frontend packages` **Package CSV columns:** diff --git a/workspaces/extensions/e2e-tests/extensions.test.ts b/workspaces/extensions/e2e-tests/extensions.test.ts index 63241a820d..8924c9bb90 100644 --- a/workspaces/extensions/e2e-tests/extensions.test.ts +++ b/workspaces/extensions/e2e-tests/extensions.test.ts @@ -142,35 +142,6 @@ test.describe('Admin > Extensions', () => { await extensions.emptyCategoryComboBox(); }); - test('Verify certified badge in extensions', async ({ - browser: _browser, - }) => { - await extensions.selectDropdown(`${translations.search.supportType}`); - await extensions.toggleOption(translations.badges.certified); - await sharedPage.keyboard.press(`Escape`); - await extensionHelper.verifyHeading('Certified Plugin '); - await expect(extensions.badge.first()).toBeVisible(); - await extensions.badge.first().hover(); - await extensionHelper.verifyHeading('Certified Plugin '); - await extensionHelper.clickHeading('Certified Plugin '); - await extensionHelper.closeBar('Close'); - await extensionHelper.clickLink(translations.common.readMore); - await extensionHelper.verifyTextInLocator( - '', - translations.metadata.about, - true, - ); - await extensionHelper.verifyHeading(translations.metadata.versions); - await extensionHelper.verifyTableHeadingAndRows([ - translations.table.packageName, - translations.table.version, - translations.table.role, - translations.table.status, - ]); - await extensionHelper.closeBar('Close'); - await extensions.resetSupportTypeFilter(translations.badges.certified); - }); - test('Verify Generally available badge in extensions', async ({ browser: _browser, }) => { diff --git a/workspaces/extensions/e2e-tests/pages/extensions.ts b/workspaces/extensions/e2e-tests/pages/extensions.ts index af7b831e14..f11504cc08 100644 --- a/workspaces/extensions/e2e-tests/pages/extensions.ts +++ b/workspaces/extensions/e2e-tests/pages/extensions.ts @@ -72,7 +72,6 @@ export class Extensions { private get supportTypeOptions() { return [ this.translations.badges.generallyAvailable, - this.translations.badges.certified, this.translations.badges.customPlugin, this.translations.badges.techPreview, this.translations.badges.devPreview, diff --git a/workspaces/extensions/examples/plugins/certified-plugin-1-by-vendor-a.yaml b/workspaces/extensions/examples/plugins/certified-plugin-1-by-vendor-a.yaml index e948602aca..9e96bf4fad 100644 --- a/workspaces/extensions/examples/plugins/certified-plugin-1-by-vendor-a.yaml +++ b/workspaces/extensions/examples/plugins/certified-plugin-1-by-vendor-a.yaml @@ -8,7 +8,6 @@ metadata: description: This is a certified plugin example annotations: extensions.backstage.io/pre-installed: 'true' - extensions.backstage.io/certified-by: Vendor A spec: categories: - Test plugin entity diff --git a/workspaces/extensions/examples/plugins/certified-plugin-2-by-vendor-a.yaml b/workspaces/extensions/examples/plugins/certified-plugin-2-by-vendor-a.yaml index 1a671c894b..44a34c360e 100644 --- a/workspaces/extensions/examples/plugins/certified-plugin-2-by-vendor-a.yaml +++ b/workspaces/extensions/examples/plugins/certified-plugin-2-by-vendor-a.yaml @@ -8,7 +8,6 @@ metadata: description: This is a certified plugin example annotations: extensions.backstage.io/pre-installed: 'true' - extensions.backstage.io/certified-by: Vendor A spec: categories: - Test plugin entity diff --git a/workspaces/extensions/examples/plugins/certified-plugin-3-by-vendor-b.yaml b/workspaces/extensions/examples/plugins/certified-plugin-3-by-vendor-b.yaml index bbb31d060b..2f9f2d5517 100644 --- a/workspaces/extensions/examples/plugins/certified-plugin-3-by-vendor-b.yaml +++ b/workspaces/extensions/examples/plugins/certified-plugin-3-by-vendor-b.yaml @@ -8,7 +8,6 @@ metadata: description: This is a certified plugin example annotations: extensions.backstage.io/pre-installed: 'true' - extensions.backstage.io/certified-by: Vendor B spec: categories: - Test plugin entity diff --git a/workspaces/extensions/packages/cli/src/commands/export-csv/index.ts b/workspaces/extensions/packages/cli/src/commands/export-csv/index.ts index bb1069583d..34b238926b 100644 --- a/workspaces/extensions/packages/cli/src/commands/export-csv/index.ts +++ b/workspaces/extensions/packages/cli/src/commands/export-csv/index.ts @@ -213,8 +213,6 @@ export default async ({ support: p => p?.spec?.support, publisher: p => p?.spec?.publisher, highlights: p => (p?.spec?.highlights || []).join(', '), - 'certified-by': p => - p?.metadata?.annotations?.['extensions.backstage.io/certified-by'], 'verified-by': p => p?.metadata?.annotations?.['extensions.backstage.io/verified-by'], 'pre-installed': p => diff --git a/workspaces/extensions/plugins/extensions-common/report.api.md b/workspaces/extensions/plugins/extensions-common/report.api.md index 6919ff0255..f7c1b22445 100644 --- a/workspaces/extensions/plugins/extensions-common/report.api.md +++ b/workspaces/extensions/plugins/extensions-common/report.api.md @@ -96,8 +96,6 @@ export const EXTENSIONS_API_VERSION = 'extensions.backstage.io/v1alpha1'; // @public (undocumented) export enum ExtensionsAnnotation { - // (undocumented) - CERTIFIED_BY = 'extensions.backstage.io/certified-by', // (undocumented) PRE_INSTALLED = 'extensions.backstage.io/pre-installed', } diff --git a/workspaces/extensions/plugins/extensions-common/src/annotations.ts b/workspaces/extensions/plugins/extensions-common/src/annotations.ts index 4e2f75974c..8fa3e92028 100644 --- a/workspaces/extensions/plugins/extensions-common/src/annotations.ts +++ b/workspaces/extensions/plugins/extensions-common/src/annotations.ts @@ -18,6 +18,5 @@ * @public */ export enum ExtensionsAnnotation { - CERTIFIED_BY = 'extensions.backstage.io/certified-by', PRE_INSTALLED = 'extensions.backstage.io/pre-installed', } diff --git a/workspaces/extensions/plugins/extensions/report-alpha.api.md b/workspaces/extensions/plugins/extensions/report-alpha.api.md index 230e41a1d1..09bbee94cc 100644 --- a/workspaces/extensions/plugins/extensions/report-alpha.api.md +++ b/workspaces/extensions/plugins/extensions/report-alpha.api.md @@ -480,7 +480,6 @@ export const extensionsTranslationRef: TranslationRef< readonly 'tooltips.missingDynamicArtifact': string; readonly 'tooltips.extensionsDisabled': string; readonly 'tooltips.noPermissions': string; - readonly 'supportTypes.certifiedBy': string; readonly 'supportTypes.verifiedBy': string; readonly 'supportTypes.customPlugins': string; readonly 'collection.kubernetes': string; @@ -506,12 +505,9 @@ export const extensionsTranslationRef: TranslationRef< readonly 'aria.expandSection': string; readonly 'aria.collapseSection': string; readonly 'aria.sortBy': string; - readonly 'badges.certifiedBy': string; readonly 'badges.verifiedBy': string; - readonly 'badges.certified': string; readonly 'badges.verified': string; readonly 'badges.customPlugin': string; - readonly 'badges.stableAndSecured': string; readonly 'badges.generallyAvailable': string; readonly 'badges.gaAndSupportedBy': string; readonly 'badges.gaAndSupported': string; diff --git a/workspaces/extensions/plugins/extensions/src/alpha/translations/de.ts b/workspaces/extensions/plugins/extensions/src/alpha/translations/de.ts index dc469cb63c..ea32628aba 100644 --- a/workspaces/extensions/plugins/extensions/src/alpha/translations/de.ts +++ b/workspaces/extensions/plugins/extensions/src/alpha/translations/de.ts @@ -209,7 +209,6 @@ const extensionsTranslationDe = createTranslationMessages({ 'metadata.category': 'Kategorie', 'metadata.versions': 'Versionen', 'metadata.backstageCompatibility': 'Backstage-Kompatibilitätsversion', - 'supportTypes.certifiedBy': 'Zertifiziert von {{value}} ({{count}})', 'supportTypes.verifiedBy': 'Verifiziert von {{value}} ({{count}})', 'supportTypes.customPlugins': 'Benutzerdefinierte Plugins ({{count}})', 'collection.kubernetes': 'Kubernetes', @@ -286,12 +285,9 @@ const extensionsTranslationDe = createTranslationMessages({ 'aria.collapseSection': 'Abschnitt reduzieren', 'aria.sortBy': 'Sortieren nach {{field}}', 'aria.filterBy': 'Filtern nach {{field}}', - 'badges.certified': 'Zertifiziert', - 'badges.certifiedBy': 'Zertifiziert von {{provider}}', 'badges.verified': 'Verifiziert', 'badges.verifiedBy': 'Verifiziert von {{provider}}', 'badges.customPlugin': 'Benutzerdefiniertes Plugin', - 'badges.stableAndSecured': 'Stabil und gesichert durch {{provider}}', 'badges.generallyAvailable': 'Allgemein verfügbar (GA)', 'badges.gaAndSupportedBy': 'Allgemein verfügbar (GA) und unterstützt durch {{provider}}', diff --git a/workspaces/extensions/plugins/extensions/src/alpha/translations/es.ts b/workspaces/extensions/plugins/extensions/src/alpha/translations/es.ts index 2d3541e355..b6609836e7 100644 --- a/workspaces/extensions/plugins/extensions/src/alpha/translations/es.ts +++ b/workspaces/extensions/plugins/extensions/src/alpha/translations/es.ts @@ -211,7 +211,6 @@ const extensionsTranslationEs = createTranslationMessages({ 'metadata.category': 'Categoría', 'metadata.versions': 'Versiones', 'metadata.backstageCompatibility': 'Versión de compatibilidad de Backstage', - 'supportTypes.certifiedBy': 'Certificado por {{value}} ({{count}})', 'supportTypes.verifiedBy': 'Verificado por {{value}} ({{count}})', 'supportTypes.customPlugins': 'Complementos personalizados ({{count}})', 'collection.kubernetes': 'Kubernetes', @@ -288,12 +287,9 @@ const extensionsTranslationEs = createTranslationMessages({ 'aria.collapseSection': 'Contraer sección', 'aria.sortBy': 'Ordenar por {{field}}', 'aria.filterBy': 'Filtrar por {{field}}', - 'badges.certified': 'Certificado', - 'badges.certifiedBy': 'Certificado por {{provider}}', 'badges.verified': 'Verificado', 'badges.verifiedBy': 'Verificado por {{provider}}', 'badges.customPlugin': 'Complemento personalizado', - 'badges.stableAndSecured': 'Estable y protegido por {{provider}}', 'badges.generallyAvailable': 'Disponibilidad general (GA)', 'badges.gaAndSupportedBy': 'Disponibilidad general (GA) y con soporte de {{provider}}', diff --git a/workspaces/extensions/plugins/extensions/src/alpha/translations/fr.ts b/workspaces/extensions/plugins/extensions/src/alpha/translations/fr.ts index 07666a8d7f..36af1375c9 100644 --- a/workspaces/extensions/plugins/extensions/src/alpha/translations/fr.ts +++ b/workspaces/extensions/plugins/extensions/src/alpha/translations/fr.ts @@ -209,7 +209,6 @@ const extensionsTranslationFr = createTranslationMessages({ 'metadata.category': 'Catégorie', 'metadata.versions': 'Versions', 'metadata.backstageCompatibility': 'Version de compatibilité backstage', - 'supportTypes.certifiedBy': 'Certifié par {{value}} ({{count}})', 'supportTypes.verifiedBy': 'Vérifié par {{value}} ({{count}})', 'supportTypes.customPlugins': 'Plugins personnalisés ({{count}})', 'collection.kubernetes': 'Kubernetes', @@ -287,12 +286,9 @@ const extensionsTranslationFr = createTranslationMessages({ 'aria.collapseSection': 'Réduire la section', 'aria.sortBy': 'Trier par {{field}}', 'aria.filterBy': 'Filtrer par {{field}}', - 'badges.certified': 'Certifié', - 'badges.certifiedBy': 'Certifié par {{provider}}', 'badges.verified': 'Vérifié', 'badges.verifiedBy': 'Vérifié par {{provider}}', 'badges.customPlugin': 'Plugin personnalisé', - 'badges.stableAndSecured': 'Stable et sécurisé par {{provider}}', 'badges.generallyAvailable': 'Généralement disponible (GA)', 'badges.gaAndSupportedBy': 'Généralement disponible (GA) et pris en charge par {{provider}}', diff --git a/workspaces/extensions/plugins/extensions/src/alpha/translations/it.ts b/workspaces/extensions/plugins/extensions/src/alpha/translations/it.ts index a791fa9d0e..0359dc340f 100644 --- a/workspaces/extensions/plugins/extensions/src/alpha/translations/it.ts +++ b/workspaces/extensions/plugins/extensions/src/alpha/translations/it.ts @@ -212,7 +212,6 @@ const extensionsTranslationIt = createTranslationMessages({ 'metadata.category': 'Categoria', 'metadata.versions': 'Versioni', 'metadata.backstageCompatibility': 'Versione compatibile con Backstage', - 'supportTypes.certifiedBy': 'Certificato da {{value}} ({{count}})', 'supportTypes.verifiedBy': 'Verificato da {{value}} ({{count}})', 'supportTypes.customPlugins': 'Plugin personalizzati ({{count}})', 'collection.kubernetes': 'Kubernetes', @@ -290,12 +289,9 @@ const extensionsTranslationIt = createTranslationMessages({ 'aria.collapseSection': 'Comprimi sezione', 'aria.sortBy': 'Ordina per {{field}}', 'aria.filterBy': 'Filtra per {{field}}', - 'badges.certified': 'Certificato', - 'badges.certifiedBy': 'Certificato da {{provider}}', 'badges.verified': 'Verificato', 'badges.verifiedBy': 'Verificato da {{provider}}', 'badges.customPlugin': 'Plugin personalizzato', - 'badges.stableAndSecured': 'Stabile e protetto da {{provider}}', 'badges.generallyAvailable': 'Generalmente disponibile', 'badges.gaAndSupportedBy': 'Generalmente disponibile e supportato da {{provider}}', diff --git a/workspaces/extensions/plugins/extensions/src/alpha/translations/ja.ts b/workspaces/extensions/plugins/extensions/src/alpha/translations/ja.ts index 6b7cba8d73..f0e9c36499 100644 --- a/workspaces/extensions/plugins/extensions/src/alpha/translations/ja.ts +++ b/workspaces/extensions/plugins/extensions/src/alpha/translations/ja.ts @@ -210,7 +210,6 @@ const extensionsTranslationJa = createTranslationMessages({ 'metadata.category': 'カテゴリー', 'metadata.versions': 'バージョン', 'metadata.backstageCompatibility': 'Backstage 互換バージョン', - 'supportTypes.certifiedBy': '{{value}} により認定済み ({{count}})', 'supportTypes.verifiedBy': '{{value}} により検証済み ({{count}})', 'supportTypes.customPlugins': 'カスタムプラグイン ({{count}})', 'collection.kubernetes': 'Kubernetes', @@ -287,12 +286,9 @@ const extensionsTranslationJa = createTranslationMessages({ 'aria.collapseSection': 'セクションを折りたたむ', 'aria.sortBy': '{{field}} でソート', 'aria.filterBy': '{{field}} でフィルタリング', - 'badges.certified': '認定済み', - 'badges.certifiedBy': '{{provider}} により認定済み', 'badges.verified': '検証済み', 'badges.verifiedBy': '{{provider}} により検証済み', 'badges.customPlugin': 'カスタムプラグイン', - 'badges.stableAndSecured': '安定および {{provider}} により保護', 'badges.generallyAvailable': '一般提供 (GA)', 'badges.gaAndSupportedBy': '一般提供 (GA) および {{provider}} のサポート対象', diff --git a/workspaces/extensions/plugins/extensions/src/alpha/translations/ref.ts b/workspaces/extensions/plugins/extensions/src/alpha/translations/ref.ts index b2bf68dcb9..8eee3da73a 100644 --- a/workspaces/extensions/plugins/extensions/src/alpha/translations/ref.ts +++ b/workspaces/extensions/plugins/extensions/src/alpha/translations/ref.ts @@ -269,7 +269,6 @@ export const extensionsMessages = { // Support type filters supportTypes: { - certifiedBy: 'Certified by {{value}} ({{count}})', verifiedBy: 'Verified by {{value}} ({{count}})', customPlugins: 'Custom plugins ({{count}})', }, @@ -374,12 +373,9 @@ export const extensionsMessages = { // Badge labels and tooltips badges: { - certified: 'Certified', - certifiedBy: 'Certified by {{provider}}', verified: 'Verified', verifiedBy: 'Verified by {{provider}}', customPlugin: 'Custom plugin', - stableAndSecured: 'Stable and secured by {{provider}}', generallyAvailable: 'Generally available (GA)', gaAndSupportedBy: 'Generally available (GA) and supported by {{provider}}', gaAndSupported: 'Generally available (GA) and supported', diff --git a/workspaces/extensions/plugins/extensions/src/components/Badges.tsx b/workspaces/extensions/plugins/extensions/src/components/Badges.tsx index f1f09feabb..ad4fe6cba3 100644 --- a/workspaces/extensions/plugins/extensions/src/components/Badges.tsx +++ b/workspaces/extensions/plugins/extensions/src/components/Badges.tsx @@ -44,21 +44,6 @@ const getBadgeOptions = ( const supportLevel = entity.spec?.support?.level; const supportProvider = entity.spec?.support?.provider; - if (entity.metadata.annotations?.[ExtensionsAnnotation.CERTIFIED_BY]) { - return { - isBadge: true, - color: colors.certified, - label: t('badges.certified'), - tooltip: t('badges.certifiedBy' as any, { - provider: - entity.metadata.annotations[ExtensionsAnnotation.CERTIFIED_BY], - }), - statusTooltip: t('badges.stableAndSecured' as any, { - provider: - entity.metadata.annotations[ExtensionsAnnotation.CERTIFIED_BY], - }), - }; - } if (supportLevel === ExtensionsSupportLevel.GENERALLY_AVAILABLE) { return { isBadge: true, diff --git a/workspaces/extensions/plugins/extensions/src/components/ExtensionsPluginFilter.tsx b/workspaces/extensions/plugins/extensions/src/components/ExtensionsPluginFilter.tsx index dbedd6f56c..270c186981 100644 --- a/workspaces/extensions/plugins/extensions/src/components/ExtensionsPluginFilter.tsx +++ b/workspaces/extensions/plugins/extensions/src/components/ExtensionsPluginFilter.tsx @@ -116,9 +116,6 @@ const SupportTypeFilter = () => { const selected = useMemo(() => { const selectedFilters = searchParams.getAll('filter'); return items.filter(item => { - if (item.value === 'certified') { - return selectedFilters.includes('certified'); - } if (item.value === 'custom') { return selectedFilters.includes('custom'); } @@ -148,9 +145,7 @@ const SupportTypeFilter = () => { params.forEach((value, key) => { if ( key === 'filter' && - (value === `certified` || - value === `custom` || - value.startsWith('support-level=')) + (value === `custom` || value.startsWith('support-level=')) ) { add(); } else { diff --git a/workspaces/extensions/plugins/extensions/src/consts.ts b/workspaces/extensions/plugins/extensions/src/consts.ts index 2639cdfa27..8f70dcd8c2 100644 --- a/workspaces/extensions/plugins/extensions/src/consts.ts +++ b/workspaces/extensions/plugins/extensions/src/consts.ts @@ -17,7 +17,6 @@ export const themeId = 'extensions'; export const colors = { - certified: '#A18FFF', generallyAvailable: '#6EC664', custom: '#EC7A08', } as const; diff --git a/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPluginFacet.ts b/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPluginFacet.ts index a43d0d5676..f21d6256a5 100644 --- a/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPluginFacet.ts +++ b/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPluginFacet.ts @@ -73,9 +73,7 @@ export const useFilteredPluginFacet = ( } if ( excludeFilterType === 'support' && - (filter === 'certified' || - filter === 'custom' || - filter.startsWith('support-level=')) + (filter === 'custom' || filter.startsWith('support-level=')) ) { return false; } @@ -122,28 +120,18 @@ export const useFilteredPluginFacet = ( ) { return true; } - // Check certification annotation as fallback - const certifiedBy = - plugin.metadata?.annotations?.[ExtensionsAnnotation.CERTIFIED_BY]; - return certifiedBy && authors.includes(certifiedBy); + return false; }); } // Apply support type filters - const showCertified = activeFilters.includes('certified'); const showCustom = activeFilters.includes('custom'); const supportLevels = activeFilters .filter(filter => filter.startsWith('support-level=')) .map(filter => filter.substring('support-level='.length)); - if (showCertified || showCustom || supportLevels.length > 0) { + if (showCustom || supportLevels.length > 0) { filteredPlugins = filteredPlugins.filter(plugin => { - if ( - showCertified && - plugin.metadata?.annotations?.[ExtensionsAnnotation.CERTIFIED_BY] - ) { - return true; - } if ( showCustom && plugin.metadata?.annotations?.[ diff --git a/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPlugins.ts b/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPlugins.ts index a54d17e99f..a1f8a29c8a 100644 --- a/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPlugins.ts +++ b/workspaces/extensions/plugins/extensions/src/hooks/useFilteredPlugins.ts @@ -92,19 +92,12 @@ export const useFilteredPlugins = () => { }); } - const showCertified = filters.includes('certified'); const showCustom = filters.includes('custom'); const supportLevels = filters .filter(filter => filter.startsWith('support-level=')) .map(filter => filter.substring('support-level='.length)); - if (showCertified || showCustom || supportLevels.length > 0) { + if (showCustom || supportLevels.length > 0) { plugins = plugins.filter(plugin => { - if ( - showCertified && - plugin.metadata?.annotations?.[ExtensionsAnnotation.CERTIFIED_BY] - ) { - return true; - } if ( showCustom && plugin.metadata?.annotations?.[ diff --git a/workspaces/extensions/plugins/extensions/src/hooks/useFilteredSupportTypes.ts b/workspaces/extensions/plugins/extensions/src/hooks/useFilteredSupportTypes.ts index 2c6929ac34..7f0a4f02a7 100644 --- a/workspaces/extensions/plugins/extensions/src/hooks/useFilteredSupportTypes.ts +++ b/workspaces/extensions/plugins/extensions/src/hooks/useFilteredSupportTypes.ts @@ -54,12 +54,7 @@ export const useFilteredSupportTypes = () => { // Get current filters excluding support type filters // This should exclude all support type filters so we can show all available support types const nonSupportFilters = filters.filter( - filter => - !( - filter === 'certified' || - filter === 'custom' || - filter.startsWith('support-level=') - ), + filter => !(filter === 'custom' || filter.startsWith('support-level=')), ); // Calculate available support types from the filtered plugin data @@ -115,35 +110,6 @@ export const useFilteredSupportTypes = () => { const allSupportTypeItems: CustomSelectItem[] = []; - // Count certified plugins - const certifiedPlugins = availablePlugins.filter( - plugin => - plugin.metadata?.annotations?.[ExtensionsAnnotation.CERTIFIED_BY], - ); - if (certifiedPlugins.length > 0) { - const certifiedProviders = Array.from( - new Set( - certifiedPlugins - .map( - p => p.metadata?.annotations?.[ExtensionsAnnotation.CERTIFIED_BY], - ) - .filter(Boolean), - ), - ).join(', '); - - allSupportTypeItems.push({ - label: t('badges.certified'), - value: 'certified', - count: certifiedPlugins.length, - isBadge: true, - badgeColor: colors.certified, - helperText: t('badges.stableAndSecured' as any, { - provider: certifiedProviders, - }), - displayOrder: 2, - }); - } - // Count custom plugins const customPlugins = availablePlugins.filter( plugin =>