From 8b904220385f1ce6f6eaa18122a27c8a73298fe5 Mon Sep 17 00:00:00 2001 From: Rahul Raghunathan <88367811+rrahul-1@users.noreply.github.com> Date: Mon, 29 Jun 2026 18:38:53 +0530 Subject: [PATCH] Update install software tooltip in setup experience (#48382) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Related issue:** Resolves #48368 # Before / After - Before: "Old tooltip for Windows/Linux" image - After: "Updated tooltip for Windows/Linux" image - for Mac and Apple-related OS stays unchanged. Screenshot 2026-06-28 at 5 52 50 PM # Checklist for submitter - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually ## Summary by CodeRabbit ## Summary by CodeRabbit * **Bug Fixes** * Updated the “installed during setup” tooltip to clarify installation order rules. * The tooltip now specifies ordering by software name (0–9, then A–Z). * Added clearer policy sequencing: software without an install policy is installed before software with a policy. * Android setup messaging remains unchanged. --- ...368-setup-experience-install-order-tooltip | 1 + .../InstallSoftwareForm.tests.tsx | 42 ++++++++++++++++++- .../InstallSoftwareForm.tsx | 14 +++++-- 3 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 changes/48368-setup-experience-install-order-tooltip diff --git a/changes/48368-setup-experience-install-order-tooltip b/changes/48368-setup-experience-install-order-tooltip new file mode 100644 index 0000000000..021f2f30a2 --- /dev/null +++ b/changes/48368-setup-experience-install-order-tooltip @@ -0,0 +1 @@ +- Updated the "installed during setup" tooltip on Controls > Setup experience > Install software to clarify that installation order depends on software name (0-9, then A-Z), and that software without a policy is installed before software with a policy. diff --git a/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tests.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tests.tsx index 5acc6f58d1..ae864ab2b0 100644 --- a/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tests.tsx +++ b/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tests.tsx @@ -87,7 +87,47 @@ describe("InstallSoftware", () => { await waitFor(() => { const tooltip = screen.getByText( - /Installation order will depend on software name, starting with 0-9 then A-Z./i + "Installation order will depend on software name, starting with 0-9 then A-Z." + ); + expect(tooltip).toBeInTheDocument(); + }); + }); + + it("should render the policy-aware order tooltip for Windows and Linux when there are software titles that have been selected to install at setup", async () => { + const { user } = render( + + ); + + expect(screen.getByText(/2 software items/)).toBeVisible(); + expect(screen.getByText(/installed during setup/)).toBeVisible(); + + await user.hover(screen.getByText("installed during setup")); + + await waitFor(() => { + const tooltip = screen.getByText( + "Installation order will depend on software name (0-9, then A-Z). Software without a policy is installed first, then software with a policy." ); expect(tooltip).toBeInTheDocument(); }); diff --git a/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tsx index 912ccbe0c2..036217bb8e 100644 --- a/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tsx +++ b/frontend/pages/ManageControlsPage/SetupExperience/cards/InstallSoftware/components/InstallSoftwareForm/InstallSoftwareForm.tsx @@ -214,10 +214,16 @@ const InstallSoftwareForm = ({ }; const renderCustomCount = () => { - const orderTooltip = - platform === "android" - ? "Software order will vary." - : "Installation order will depend on software name, starting with 0-9 then A-Z."; + let orderTooltip: string; + if (platform === "android") { + orderTooltip = "Software order will vary."; + } else if (platform === "windows" || platform === "linux") { + orderTooltip = + "Installation order will depend on software name (0-9, then A-Z). Software without a policy is installed first, then software with a policy."; + } else { + orderTooltip = + "Installation order will depend on software name, starting with 0-9 then A-Z."; + } return (