fleet/frontend/interfaces
Scott Gress 12ab93d9e0
Update "Setting up your device" page for MacOS Setup Experience (#33770)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33173

# Details

This PR updates the "Setting up your device" page which appears in Linux
and Windows (and as of https://github.com/fleetdm/fleet/issues/30117,
MacOS) setup experiences. Front-end updates:

* Lots of renaming of things that were software-specific to now more
generically refer to "setup step"
* Removed the "My Device" heading
* Moved the info button inside the table header
* Added status of setup script run to the table
* Updated the empty state to not refer specifically to software
* Added optional `setup_only` query param to the `/device` page which,
if set, will always show the "setting up your device" page even if all
setup is complete. Normally as soon as setup finishes, the front-end
redirects to the regular My Device page. In the case of MacOS setup
experience, we don't want this to happen as we expect to either 1) keep
the setup experience up indefinitely if we're blocking device setup on
software install failure, or 2) close the setup dialog on successful
completion. This query param is also handy for testing.
* Added new "Configuration complete" state to be shown when all setup
steps are finished (successfully or not). This is only applicable on
MacOS, since other platforms will redirect to the My Device page when
finished.

This PR also includes one small backend change to the
`/device/{token}/setup_experience/status` API endpoint, to have it
return a `scripts` array alongside the existing `software` array. This
endpoint is not documented publicly.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [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
Updated existing DeviceUserPage tests that check the SettingUpYourDevice
content, and added new tests for the new scripts content and the new
query param.

- [X] QA'd all new/changed functionality manually

<img width="1028" height="867" alt="Screenshot 2025-10-02 at 7 20 28 PM"
src="https://github.com/user-attachments/assets/7adab2c2-dac1-4463-96fc-13094da2c379"
/>

(note that as of now we'd only have at most one script, showing multiple
here to demonstrate the different states)

<img width="1031" height="524" alt="Screenshot 2025-10-02 at 7 22 01 PM"
src="https://github.com/user-attachments/assets/bedaa840-d7ef-4b6f-8daf-6ac3b447594f"
/>

<img width="1222" height="760" alt="image"
src="https://github.com/user-attachments/assets/42cf82d5-53e0-4c4d-b60e-9ac2cc86af68"
/>

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-10-06 16:45:53 +01:00
..
activity.ts Update UI for Smallstep CA feature (#33448) 2025-09-26 09:26:57 -05:00
campaign.ts Full-stack: Granular host count data for live queries/policies (#27258) 2025-03-19 09:53:55 -07:00
certificates.ts Update UI for Smallstep CA feature (#33448) 2025-09-26 09:26:57 -05:00
config.ts Add sso_server_url configuration for dual URL SSO setups (#31497) 2025-08-01 20:32:15 +02:00
config_option.js add prettier and have it format all fleet application code (#625) 2021-04-12 14:32:25 +01:00
datatable_config.ts update UI to react 18 (#17471) 2024-03-13 19:09:16 +00:00
decorators.js add prettier and have it format all fleet application code (#625) 2021-04-12 14:32:25 +01:00
dropdownOption.ts UI: Conditional access - Microsoft Entra (#27982) 2025-04-15 13:55:07 -07:00
empty_table.ts Icons improvements (making frontend consistent with Figma component library) (#14185) 2023-10-31 16:06:38 +00:00
enroll_secret.ts Add/Edit/Delete enroll secret UI (#2645) 2021-11-15 16:16:06 -05:00
errors.ts Add metadata field to end user authentication UI (#24579) 2024-12-10 14:13:15 -06:00
form_field.ts Fleet UI: Add custom CVSS scores input fields (#31456) 2025-08-05 16:29:55 -04:00
host.ts Fleet UI: Change org logo to light background on product and My Device Page (#33639) 2025-09-30 13:30:55 -04:00
host_summary.ts (Released bugs) Fleet UI label bugs: Dynamic platform labels, chromeos dashboard filters for missing chromeos hosts (#16680) 2024-02-09 11:02:23 -05:00
host_users.ts Host Details Page: Users table (#1152) 2021-06-22 12:26:57 -07:00
installer.ts Add UI for Fleet Sandbox to download prepackaged installers (#6721) 2022-07-19 14:28:06 -05:00
integration.ts Hydrant CA Feature Branch (#31807) 2025-09-04 12:39:41 -04:00
invite.ts Fleet UI: 2FA (#24442) 2024-12-05 15:54:43 -05:00
label.ts UI: Labels by IdP (#30368) 2025-06-30 10:05:03 -07:00
license.js add prettier and have it format all fleet application code (#625) 2021-04-12 14:32:25 +01:00
list_options.ts Use server-side sort for host certificates (#26898) 2025-03-07 12:28:07 -06:00
macadmins.ts Add MDM Card to Windows and All Dashboards and change mdm data source on host details page (#8960) 2022-12-16 15:12:11 -06:00
mdm.ts handle all three ios and ipad unenrollment states and diplay correct copy in unenroll modal (#33804) 2025-10-06 10:44:58 +01:00
notification.ts Fleet UI: Fix policy software automation fail to report as failing (#26044) 2025-02-28 08:45:33 -05:00
operating_system.ts Fleet UI: Add Linux kernel vulns card/table (#31840) 2025-08-14 09:30:49 -04:00
osquery_table.ts Frontend of iOS/iPadOS as platforms/labels (#20157) 2024-07-09 09:18:00 -04:00
pack.ts Frontend: Organize response interfaces into appropriate interface directories (#8742) 2022-11-18 11:25:39 -05:00
package_type.ts Fleet UI: Upload and install tarball archives (#27839) 2025-05-02 10:17:09 -04:00
platform.ts Capitalize "rolling" only OS version column on add support for Manjaro Linux (#33315) 2025-09-24 16:39:36 -03:00
policy.ts Fix a few UI typos (#30559) 2025-07-07 08:44:57 -03:00
query.ts 21855 – Paginate and filter Queries on the server, update platform filtering from compatible to targeted platforms (#24446) 2024-12-11 10:50:28 -08:00
query_report.ts Added server_settings.query_report_cap (#19692) 2024-06-14 12:24:01 -03:00
query_stats.ts Feature: 15605 merge inherited queries and policies (#18771) 2024-05-07 12:10:06 -04:00
registration_form_data.js Remove username from UI (#1168) 2021-06-24 13:42:29 -07:00
registration_form_data.ts Fix missing field in setup confirmation (#2005) 2021-09-10 18:53:28 -05:00
routing.ts UI: Conditional access - Microsoft Entra (#27982) 2025-04-15 13:55:07 -07:00
schedulable_query.ts UI: Allow editing the name and team of a "Save as new" query (#30544) 2025-07-03 13:11:06 -07:00
scheduled_query.ts Feature: 15605 merge inherited queries and policies (#18771) 2024-05-07 12:10:06 -04:00
script.ts UI: Batch script run detail page (#32333) 2025-08-29 09:37:05 -06:00
secrets.ts UI for managing custom variables (#31875) 2025-08-15 08:24:55 -05:00
setup.ts Update "Setting up your device" page for MacOS Setup Experience (#33770) 2025-10-06 16:45:53 +01:00
software.ts Update "Setting up your device" page for MacOS Setup Experience (#33770) 2025-10-06 16:45:53 +01:00
ssoSettings.ts Fleet UI: No role = no access, refactor jsx class components to typescript functional components (#12953) 2023-08-02 11:29:49 -04:00
status_labels.ts Include MIA hosts under total count for Offline hosts (#5854) 2022-05-23 14:11:02 -05:00
target.ts Frontend refactor: To typescript, remove unused testing stubs, functi… (#20306) 2024-07-24 12:08:38 -04:00
team.ts Add "Require BitLocker PIN" checkbox to disk encryption page (#31132) 2025-07-23 14:36:28 -05:00
team_subnav.ts UI – Team-level host expiry setting (#16276) 2024-01-25 18:19:49 +00:00
user.ts UI - use new db user settings to persist user's host table column preferences (#25185) 2025-01-09 10:53:43 -08:00
version.ts Auth Redux Removal (#4924) 2022-04-07 09:08:00 -07:00
vulnerability.ts Fleet UI: Improve CVE search responses (#21286) 2024-08-14 11:41:56 -04:00
webhook.ts UI – Activity feed webhook automation modal (#19285) 2024-05-28 13:18:02 -07:00