From 55a7c4b63fd5c8ed2c73dd4f1720a546c7ef2d55 Mon Sep 17 00:00:00 2001 From: RachelElysia <71795832+RachelElysia@users.noreply.github.com> Date: Tue, 18 Nov 2025 09:25:02 -0500 Subject: [PATCH] Fleet UI: .exe and .tar.gz add software clues fix (#35856) --- .../PackageAdvancedOptions.tsx | 16 +++++++++++----- .../components/forms/PackageForm/helpers.tsx | 12 +++++++++--- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/frontend/pages/SoftwarePage/components/forms/PackageAdvancedOptions/PackageAdvancedOptions.tsx b/frontend/pages/SoftwarePage/components/forms/PackageAdvancedOptions/PackageAdvancedOptions.tsx index b7da404d09..89ddc6921a 100644 --- a/frontend/pages/SoftwarePage/components/forms/PackageAdvancedOptions/PackageAdvancedOptions.tsx +++ b/frontend/pages/SoftwarePage/components/forms/PackageAdvancedOptions/PackageAdvancedOptions.tsx @@ -218,6 +218,8 @@ const PackageAdvancedOptions = ({ ); }; + const requiresAdvancedOptions = ext === "exe" || ext === "tar.gz"; + return (
setShowAdvancedOptions(!showAdvancedOptions)} - disabled={!selectedPackage} + disabled={!selectedPackage || requiresAdvancedOptions} disabledTooltipContent={ - <> - Choose a file to modify
- advanced options. - + requiresAdvancedOptions ? ( + <>Install and uninstall scripts are required for .{ext} packages. + ) : ( + <> + Choose a file to modify
+ advanced options. + + ) } /> {(showAdvancedOptions || ext === "exe" || ext === "tar.gz") && diff --git a/frontend/pages/SoftwarePage/components/forms/PackageForm/helpers.tsx b/frontend/pages/SoftwarePage/components/forms/PackageForm/helpers.tsx index 14d0a9024c..88672b46aa 100644 --- a/frontend/pages/SoftwarePage/components/forms/PackageForm/helpers.tsx +++ b/frontend/pages/SoftwarePage/components/forms/PackageForm/helpers.tsx @@ -50,7 +50,10 @@ const FORM_VALIDATION_CONFIG: Record< { name: "requiredForExe", isValid: (formData) => { - if (formData.software?.type === "exe") { + if ( + formData.software?.type === "exe" || + getExtensionFromFileName(formData.software?.name || "") === "exe" + ) { // Handle undefined safely with nullish coalescing return (formData.installScript ?? "").trim().length > 0; } @@ -66,7 +69,7 @@ const FORM_VALIDATION_CONFIG: Record< getExtensionFromFileName(formData.software.name) === "tar.gz" ) { // Handle undefined safely with nullish coalescing - return (formData.uninstallScript ?? "").trim().length > 0; + return (formData.installScript ?? "").trim().length > 0; } return true; }, @@ -79,7 +82,10 @@ const FORM_VALIDATION_CONFIG: Record< { name: "requiredForExe", isValid: (formData) => { - if (formData.software?.type === "exe") { + if ( + formData.software?.type === "exe" || + getExtensionFromFileName(formData.software?.name || "") === "exe" + ) { // Handle undefined safely with nullish coalescing return (formData.uninstallScript ?? "").trim().length > 0; }