fleet/orbit/pkg
Scott Gress be7e0045a9
Use webview in MacOS setup experience (#33884)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #33111

# Details

This PR updates the setup experience for MacOS to use a web view pointed
at the device's "Setting up your device" page rather than using native
MacOS UI elements, bringing it more in line with Linux and Windows setup
experiences.

This covers only the new web UI for the setup experience progress, _not_
the UI for the new case of blocking the device when a piece of software
fails to install. I'll add that in a separate PR.

# 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
Added tests for the updates to the token rotation code.

- [X] QA'd all new/changed functionality manually
A new tool is provided to allow testing this code against a virtual
machine if a separate host that you can wipe and run setup on is not
available. See
https://github.com/fleetdm/fleet/blob/sgress454/new-setup-experience/tools/mdm/apple/setupexperience/README.md
for details.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
  - macOS setup experience moved to a new web-based UI.
  - Automatic device token rotation during setup to keep sessions valid.
- Bug Fixes
- More reliable setup flow with improved dialog lifecycle and cleaner
handoff to web content.
- Dialog elements hidden/cleared appropriately when transitioning to the
browser.
- Documentation
- Added guide and tool to simulate the macOS setup experience on a VM,
with prerequisites and usage steps.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-08 17:51:26 +01:00
..
augeas Update golangci-lint to v2.4.0 (#33251) 2025-09-22 13:17:11 -05:00
bitlocker Fix Windows lint issues and enable linting on Windows (#28704) 2025-05-02 16:11:26 -04:00
build Add user agent to Orbit HTTP client (#5429) 2022-05-02 11:03:49 -07:00
constant Changes to not rely on Fleet Desktop for Linux setup experience (#33018) 2025-09-16 13:26:00 -03:00
cryptoinfo Enable staticcheck Go linter. (#23487) 2024-11-05 11:16:24 -06:00
dataflatten Additional CA validation (#27169) 2025-03-19 08:27:55 -05:00
dialog Removed indicator for background LUKS validation (#28218) 2025-04-16 12:25:41 -04:00
execuser Update golangci-lint to v2.4.0 (#33251) 2025-09-22 13:17:11 -05:00
go-paniclog Fix Windows lint issues and enable linting on Windows (#28704) 2025-05-02 16:11:26 -04:00
insecure Make creation of http.Client uniform across the codebase (#3097) 2021-11-24 15:56:54 -05:00
installer Added support for retry logic in setup experience software installations. (#32823) 2025-09-16 12:26:14 -05:00
kdialog Removed indicator for background LUKS validation (#28218) 2025-04-16 12:25:41 -04:00
keystore Update golangci-lint to v2.4.0 (#33251) 2025-09-22 13:17:11 -05:00
logging Reduce orbit logging when the server is down (#16968) 2024-02-21 15:36:15 -03:00
luks Re-verify Linux disk encryption #26693 (#29034) 2025-05-22 16:15:26 -04:00
lvm Linux agent LVM volume detection on older Ubuntu versions (#24193) 2024-11-27 10:39:25 -07:00
migration fix: add missing comments 2024-08-15 19:00:47 -04:00
osquery Perform early restart before starting sub-systems and minor refactor of orbit sub-systems (#20610) 2024-07-19 12:44:43 -03:00
osservice 8009 fleet desktop icon duplication (#8017) 2022-10-13 10:58:37 -03:00
packaging Add govet's nilness and golangci-lint nilnesserr (#33359) 2025-09-23 17:55:50 -03:00
platform Fix Windows lint issues and enable linting on Windows (#28704) 2025-05-02 16:11:26 -04:00
process Fleetctl to package .app bundles for osquery (and changes for orbit to support them) (#4393) 2022-03-15 16:04:12 -03:00
profiles Fallback to ConfigurationURL when ConfigurationWebURL is not set in macOS MDM enrollment profile (#30462) 2025-07-02 13:47:42 -05:00
scripts Update golangci-lint to v2.4.0 (#33251) 2025-09-22 13:17:11 -05:00
setup_experience Use webview in MacOS setup experience (#33884) 2025-10-08 17:51:26 +01:00
swiftdialog Use webview in MacOS setup experience (#33884) 2025-10-08 17:51:26 +01:00
table 31010 santa tables (#33218) 2025-10-08 08:58:08 -06:00
token Use webview in MacOS setup experience (#33884) 2025-10-08 17:51:26 +01:00
update Update golangci-lint to v2.4.0 (#33251) 2025-09-22 13:17:11 -05:00
user Run fleet desktop with user SELinux context when applicable (#30882) 2025-07-25 08:44:13 -05:00
useraction Update Makefile swift dialog versions and add github workflow (#32511) 2025-09-05 10:49:21 -04:00
windows Add Kolide osquery tables 2023-11-01 20:11:35 -06:00
zenity Removed indicator for background LUKS validation (#28218) 2025-04-16 12:25:41 -04:00