From 0e6d751bde7f1f2008028659ff538249708a06d3 Mon Sep 17 00:00:00 2001 From: Eli Bosley Date: Thu, 12 Mar 2026 14:10:31 -0400 Subject: [PATCH] Allow USB targets in onboarding internal boot setup --- .../Onboarding/OnboardingInternalBootStep.test.ts | 8 +++----- .../Onboarding/steps/OnboardingInternalBootStep.vue | 7 ------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/web/__test__/components/Onboarding/OnboardingInternalBootStep.test.ts b/web/__test__/components/Onboarding/OnboardingInternalBootStep.test.ts index 241b6a84a9..946fb6df7a 100644 --- a/web/__test__/components/Onboarding/OnboardingInternalBootStep.test.ts +++ b/web/__test__/components/Onboarding/OnboardingInternalBootStep.test.ts @@ -135,8 +135,8 @@ describe('OnboardingInternalBootStep', () => { await flushPromises(); expect(wrapper.find('[data-testid="internal-boot-eligibility-panel"]').exists()).toBe(true); - expect(wrapper.find('[data-testid="internal-boot-intro-panel"]').exists()).toBe(false); - expect(wrapper.text()).toContain('No eligible devices were detected for internal boot setup.'); + expect(wrapper.find('[data-testid="internal-boot-intro-panel"]').exists()).toBe(true); + expect(wrapper.text()).not.toContain('No eligible devices were detected for internal boot setup.'); expect(wrapper.text()).not.toContain('ARRAY_NOT_STOPPED'); await wrapper.get('[data-testid="internal-boot-eligibility-toggle"]').trigger('click'); await flushPromises(); @@ -147,7 +147,6 @@ describe('OnboardingInternalBootStep', () => { expect(wrapper.text()).toContain('ASSIGNED_TO_PARITY'); expect(wrapper.text()).toContain('ASSIGNED_TO_ARRAY'); expect(wrapper.text()).toContain('ASSIGNED_TO_CACHE'); - expect(wrapper.text()).toContain('USB_TRANSPORT'); expect(wrapper.text()).toContain('TOO_SMALL'); expect(wrapper.text()).not.toContain('NO_UNASSIGNED_DISKS'); expect(wrapper.find('[data-testid="brand-button"]').attributes('disabled')).toBeDefined(); @@ -310,9 +309,9 @@ describe('OnboardingInternalBootStep', () => { expect(selects).toHaveLength(3); const deviceSelect = selects[1]; expect(deviceSelect.text()).toContain('eligible-disk'); + expect(deviceSelect.text()).toContain('usb-disk'); expect(deviceSelect.text()).not.toContain('cache-disk'); expect(deviceSelect.text()).not.toContain('small-disk'); - expect(deviceSelect.text()).not.toContain('usb-disk'); expect(wrapper.text()).not.toContain('ASSIGNED_TO_CACHE'); const biosWarning = wrapper.get('[data-testid="internal-boot-update-bios-warning"]'); const eligibilityPanel = wrapper.get('[data-testid="internal-boot-eligibility-panel"]'); @@ -323,7 +322,6 @@ describe('OnboardingInternalBootStep', () => { await wrapper.get('[data-testid="internal-boot-eligibility-toggle"]').trigger('click'); await flushPromises(); expect(wrapper.text()).toContain('ASSIGNED_TO_CACHE'); - expect(wrapper.text()).toContain('USB_TRANSPORT'); expect(wrapper.text()).toContain('TOO_SMALL'); expect(wrapper.find('[data-testid="brand-button"]').attributes('disabled')).toBeUndefined(); }); diff --git a/web/src/components/Onboarding/steps/OnboardingInternalBootStep.vue b/web/src/components/Onboarding/steps/OnboardingInternalBootStep.vue index 9aab628e77..0fea2f8919 100644 --- a/web/src/components/Onboarding/steps/OnboardingInternalBootStep.vue +++ b/web/src/components/Onboarding/steps/OnboardingInternalBootStep.vue @@ -87,7 +87,6 @@ type InternalBootDiskEligibilityCode = | 'ASSIGNED_TO_ARRAY' | 'ASSIGNED_TO_PARITY' | 'ASSIGNED_TO_CACHE' - | 'USB_TRANSPORT' | 'TOO_SMALL'; const MIN_BOOT_SIZE_MIB = 4096; @@ -116,7 +115,6 @@ const DISK_ELIGIBILITY_MESSAGE_KEYS: Record(() => { const sizeBytes = disk.size; const sizeMiB = toSizeMiB(sizeBytes); const ineligibilityCodes = Array.from(diskEligibilityCodesByDevice.value.get(device) ?? []); - const interfaceType = disk.interfaceType?.trim().toUpperCase(); - - if (interfaceType === 'USB') { - ineligibilityCodes.push('USB_TRANSPORT'); - } if (sizeMiB !== null && sizeMiB < MIN_ELIGIBLE_DEVICE_SIZE_MIB) { ineligibilityCodes.push('TOO_SMALL');