From b9ebc6c54e770beb840f29c2097c677ccd6e370b Mon Sep 17 00:00:00 2001 From: Chris Sherwood Date: Wed, 28 Jan 2026 14:14:04 -0800 Subject: [PATCH] fix(EasySetup): Remove built-in System Benchmark from wizard System Benchmark is a built-in feature that doesn't require installation, so it shouldn't appear in the Easy Setup Wizard where users select things to install. Users can access the benchmark through Settings > Benchmark. - Removed benchmark entry from ADDITIONAL_TOOLS array - Removed unused isBuiltInCapability helper and related dead code - Simplified renderCapabilityCard by removing built-in specific styling - Removed unused IconArrowRight import Co-Authored-By: Claude Opus 4.5 --- admin/inertia/pages/easy-setup/index.tsx | 94 ++++++------------------ 1 file changed, 24 insertions(+), 70 deletions(-) diff --git a/admin/inertia/pages/easy-setup/index.tsx b/admin/inertia/pages/easy-setup/index.tsx index 23bc781..a3d7df4 100644 --- a/admin/inertia/pages/easy-setup/index.tsx +++ b/admin/inertia/pages/easy-setup/index.tsx @@ -10,7 +10,7 @@ import CategoryCard from '~/components/CategoryCard' import TierSelectionModal from '~/components/TierSelectionModal' import LoadingSpinner from '~/components/LoadingSpinner' import Alert from '~/components/Alert' -import { IconCheck, IconChevronDown, IconChevronUp, IconArrowRight } from '@tabler/icons-react' +import { IconCheck, IconChevronDown, IconChevronUp } from '@tabler/icons-react' import StorageProjectionBar from '~/components/StorageProjectionBar' import { useNotifications } from '~/context/NotificationContext' import useInternetStatus from '~/hooks/useInternetStatus' @@ -98,19 +98,6 @@ const ADDITIONAL_TOOLS: Capability[] = [ services: ['nomad_cyberchef'], icon: 'IconChefHat', }, - { - id: 'benchmark', - name: 'System Benchmark', - technicalName: 'Built-in', - description: 'Measure your server performance and compare with the NOMAD community', - features: [ - 'CPU, memory, and disk benchmarks', - 'AI inference performance testing', - 'NOMAD Score for easy comparison', - ], - services: ['__builtin_benchmark'], // Special marker for built-in features - icon: 'IconChartBar', - }, ] type WizardStep = 1 | 2 | 3 | 4 @@ -526,20 +513,13 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim ) } - // Check if a capability is a built-in feature (not a Docker service) - const isBuiltInCapability = (capability: Capability) => { - return capability.services.some((service) => service.startsWith('__builtin_')) - } - // Check if a capability is selected (all its services are in selectedServices) const isCapabilitySelected = (capability: Capability) => { - if (isBuiltInCapability(capability)) return false // Built-ins can't be selected return capability.services.every((service) => selectedServices.includes(service)) } // Check if a capability is already installed (all its services are installed) const isCapabilityInstalled = (capability: Capability) => { - if (isBuiltInCapability(capability)) return true // Built-ins are always "installed" return capability.services.every((service) => installedServices.some((s) => s.service_name === service) ) @@ -547,7 +527,6 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim // Check if a capability exists in the system (has at least one matching service) const capabilityExists = (capability: Capability) => { - if (isBuiltInCapability(capability)) return true // Built-ins always exist return capability.services.some((service) => allServices.some((s) => s.service_name === service) ) @@ -575,38 +554,23 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim const selected = isCapabilitySelected(capability) const installed = isCapabilityInstalled(capability) const exists = capabilityExists(capability) - const isBuiltIn = isBuiltInCapability(capability) if (!exists) return null // Determine visual state: installed (locked), selected (user chose it), or default const isChecked = installed || selected - // Handle click - built-in features navigate to their page, others toggle selection - const handleClick = () => { - if (isBuiltIn) { - // Navigate to the appropriate settings page for built-in features - if (capability.id === 'benchmark') { - router.visit('/settings/benchmark') - } - } else { - toggleCapability(capability) - } - } - return (
toggleCapability(capability)} className={classNames( 'p-6 rounded-lg border-2 transition-all', - isBuiltIn - ? 'border-desert-stone bg-desert-stone-lighter/50 hover:border-desert-green hover:shadow-sm cursor-pointer' - : installed - ? 'border-desert-green bg-desert-green/20 cursor-default' - : selected - ? 'border-desert-green bg-desert-green shadow-md cursor-pointer' - : 'border-desert-stone-light bg-white hover:border-desert-green hover:shadow-sm cursor-pointer' + installed + ? 'border-desert-green bg-desert-green/20 cursor-default' + : selected + ? 'border-desert-green bg-desert-green shadow-md cursor-pointer' + : 'border-desert-stone-light bg-white hover:border-desert-green hover:shadow-sm cursor-pointer' )} >
@@ -615,16 +579,12 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim

{capability.name}

- {isBuiltIn ? ( - - Built-in - - ) : installed && ( + {installed && ( Installed @@ -633,15 +593,15 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim

- {isBuiltIn ? 'Click to open' : `Powered by ${capability.technicalName}`} + Powered by {capability.technicalName}

{capability.description} @@ -650,7 +610,7 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim

    {capability.features.map((feature, idx) => ( @@ -658,13 +618,11 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim • @@ -678,18 +636,14 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim
    - {isBuiltIn ? ( - - ) : isChecked && ( + {isChecked && ( )}