Commit graph

3916 commits

Author SHA1 Message Date
RachelElysia
7ce53d8804
Fleet UI: Fix .ipa installers relies on mdm and not scripts enabled (#35522) 2025-11-11 12:12:31 -05:00
RachelElysia
b8c8d8461e
Fleet UI: Fix conflict to allow clickable tooltip on mobile view (#35450) 2025-11-11 10:38:09 -05:00
RachelElysia
2e42bbbc84
Fleet UI: 4.77 unreleased bug fixes (#35505) 2025-11-11 10:37:18 -05:00
Scott Gress
22fee0c4cd
Fix [Object object] in script error display (#35476)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35432 

# Checklist for submitter

## Testing

- [ ] Added/updated automated tests
- [X] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [X] Confirmed that the fix is not expected to adversely impact load
test results
2025-11-11 08:41:30 -06:00
Scott Gress
63eb318429
Fix issue where end-user sso form sometimes shows stale data (#35469)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35322

# Details

Since the end-user auth form uses calls its own API rather than the
common config update handler in the parent `IntegrationsPage`, we need
to notify that parent when updates occur so that it can re-fetch the app
config which serves as the base state for all of the sub-sections.

# Checklist for submitter

## Testing

- [ ] Added/updated automated tests
- [X] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [X] Confirmed that the fix is not expected to adversely impact load
test results
2025-11-10 17:02:19 -06:00
RachelElysia
69fcd54a0e
Fleet UI: Fix removed display name message (#35422) 2025-11-10 10:43:35 -05:00
Harrison Ravazzolo
8edcc16695
Adding Claude Desktop as macOS FMA (#35000)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35001

# Checklist for submitter

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

- [ ] 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.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

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

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2025-11-07 23:05:07 -06:00
jacobshandling
ec5c1fdf39
Custom EST finishing touches (#35361) 2025-11-07 16:11:40 -08:00
Carlo
715d963f82
My device page (self-service) for iOS/iPadOS (#35238)
Implements #32247. This is the complete feature branch, consolidating:

- https://github.com/fleetdm/fleet/pull/35018
- https://github.com/fleetdm/fleet/pull/34758
- https://github.com/fleetdm/fleet/pull/35009
- https://github.com/fleetdm/fleet/pull/35181
- https://github.com/fleetdm/fleet/pull/35342

---------

Co-authored-by: Jonathan Katz <44128041+jkatz01@users.noreply.github.com>
Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: jkatz01 <yehonatankatz@gmail.com>
2025-11-07 17:30:51 -05:00
Sarah Gillespie
7e76277604
macOS profile-based manual enrollment: refactor UI to use anchor link instead of window.open (#35354) 2025-11-07 14:17:51 -06:00
RachelElysia
5293d0d6b9
Fleet UI: Fix preview icon from changing (#35359) 2025-11-07 15:07:37 -05:00
Allen Houchins
c86a3712e6
Add Linear as a macOS FMA (#35256)
Introduces Linear as a maintained app for macOS, including input/output
JSON definitions, install/uninstall scripts, and an SVG icon component.
Also adds the Linear app icon image for frontend display.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

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

- [ ] 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.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

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

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
2025-11-07 13:14:32 -06:00
Allen Houchins
912112c5b0
Add 010 Editor as macOS Fleet-maintained app (#35197)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** https://github.com/fleetdm/confidential/issues/12844

# Checklist for submitter

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

- [ ] 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.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

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

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
2025-11-07 13:12:38 -06:00
RachelElysia
30f6191b52
Fleet UI: Do not call delete for icon that doesn't exist (#35350) 2025-11-07 11:16:08 -05:00
RachelElysia
3efeeb1ad0
Fleet UI: Ability to edit software display names (#34872) 2025-11-07 09:59:30 -05:00
Ian Littman
ff9171fc1b
Wire up docs for crowdstrike_falcon table (#35257)
For #33193. No changes file as this is just documentation for the table
shipping in fleetd 1.50, which has a changes file of its own.

## Testing

- [x] QA'd all new/changed functionality manually
2025-11-06 17:38:47 -06:00
Ian Littman
0aec72aed2
Bring back SSO routes in a way that doesn't break other integration sub-routes, always show EUA SSO settings (#35321)
More fixes for #34525. Found another bug while clicking around, which
I'll file as an unreleased.

# Checklist for submitter

## Testing

- [x] QA'd all new/changed functionality manually
2025-11-06 17:38:11 -06:00
Juan Fernandez
5aaba26d6f
Revert edit icon alignment (#35304)
**Related issue:** Resolves #34999 

Reverts edit icon alignment.

# Checklist for submitter

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

## Testing

- [X] QA'd all new/changed functionality manually
2025-11-06 17:16:16 -04:00
RachelElysia
f12bedece7
Fleet UI: Fix table selection styling (#35295) 2025-11-06 15:31:14 -05:00
Jahziel Villasana-Espinoza
3fdd4fdc74
temporarily remove code that prevents MDM from being turned on in UI (#35292)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->

# Checklist for submitter

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

## Testing
- [x] QA'd all new/changed functionality manually
2025-11-06 14:59:21 -05:00
Juan Fernandez
666c223456
Make styling more consistent in edit policies view for Firefox. (#35247)
**Related issue:** Resolves
[#34999](https://github.com/fleetdm/fleet/issues/34999)

- Align edit icon to start of line.
- Fix font size for policy name and contents elements.

# 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] QA'd all new/changed functionality manually
2025-11-06 13:00:49 -06:00
Gabriel Hernandez
f0ebb47de6
update the TooltipTruncatedText Component (#35205)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34652

This updates the TooltipTruncatedText component to use our
TooltipWrapper component. This helps us maintain consistency in our
tooltips.
2025-11-06 14:40:46 +00:00
Scott Gress
b332ea8251
Cancel setup experience if software fails: updates from QA (#35250)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** 
Resolves #35219
Resolves #35232 
Resolves #35228 

* https://github.com/fleetdm/fleet/issues/35219 (Transparency link is
not clickable in Info modal for new setup experience): we just dropped
the link entirely on the setup page for macOS:

<img width="843" height="468" alt="image"
src="https://github.com/user-attachments/assets/b68ce846-ca0c-4fec-9269-fa53c0f4317d"
/>

(still there on Linux and Windows):

<img width="898" height="456" alt="image"
src="https://github.com/user-attachments/assets/ca14d91f-fa91-47eb-b506-d645c8666961"
/>

* https://github.com/fleetdm/fleet/issues/35232 (Key combination in
tooltip for macOS setup experience failed software install doesn't work
on modern macs): we updated the tooltip to explain how to turn off the
computer instead:

<img width="361" height="103" alt="image"
src="https://github.com/user-attachments/assets/d96ff9eb-c983-4b00-a8f5-31c1d42e412f"
/>

* https://github.com/fleetdm/fleet/issues/35228 (New setup experience
for macOS always shows "This host if offline. Please try refetching host
vitals later." error pop up): this check is no longer made when viewing
the "setting up your computer" page.

# Checklist for submitter

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

## Testing

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

For unreleased bug fixes in a release candidate, one of:

- [X] Confirmed that the fix is not expected to adversely impact load
test results
2025-11-05 17:37:53 -06:00
Victor Lyuboslavsky
e5c5992cda
Fix non-Linux not displaying all OS version. (#35220)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35166

Fix
- For an OS version, we first fetch the version with
max_vulnerabilities=0.
- If the OS version has vulnerabilities and it is non-Linux, then we
refetch the OS version without specifying the `max_vulnerabilities`
parameter, which fetches all vulnerabilities.

# Checklist for submitter

## Testing

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

For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results

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

## Summary by CodeRabbit

* **Improvements**
* Optimized vulnerability data loading for operating system details with
enhanced fetching strategy
* Improved loading state management for clearer visibility during data
retrieval on OS version pages

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jacob Shandling <jacob@shandling.dev>
2025-11-05 17:02:55 -06:00
Ian Littman
724860bd6e
Move end user authentication to a tab under Integrations > SSO (#35084)
Resolves #34525.

# 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] QA'd all new/changed functionality manually
2025-11-05 14:34:59 -06:00
jacobshandling
50e7947b67
Update Add, Edit, and Delete Certificate Authority modals to support Custom EST (#35085)
**Related issue:** Resolves #34276 

<img width="1241" height="924" alt="Screenshot 2025-10-31 at 5 21 57 PM"
src="https://github.com/user-attachments/assets/44d94842-c4d0-4770-9072-6a87da2ae6cb"
/>


![ezgif-6f70f761e3ad5b](https://github.com/user-attachments/assets/606a4696-7fc2-409f-a047-6436f1916899)


- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-11-04 15:06:07 -08:00
Sarah Gillespie
475614f19d
Update manual MDM enroll flow for macOS to use OTA with SSO (#34650) 2025-11-04 08:24:50 -06:00
Carlo
c0a36cbe9e
CP: Correct payload-free package GitOps requirements (#35125)
Cherry-picks #35111
2025-11-04 07:55:57 -05:00
Marko Lisica
10e6b0d638
Add instructions for deleting Android Enterprise (#34339)
Added section on deleting Android Enterprise in Google Admin.

I'll use this new title to link in the UI, inside the banner when user
deletes Android Enterprise in Google Admin.

Related to:
https://github.com/fleetdm/fleet/issues/34152#issuecomment-3407854195
2025-11-04 12:20:24 +01:00
Jahziel Villasana-Espinoza
9259b56da0
update copy, add one-time cron to update default policy (#35127) (#35140)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34899

Cherry pick for #35127

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
2025-11-03 18:47:39 -05:00
Victor Lyuboslavsky
ba5f02f9ca
os_versions endpoint performance improvements (#34897)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34500 and Resolves #33758

Video demo: https://www.youtube.com/watch?v=4HZlKG0G1B0

- Added a new aggregation table
`operating_system_version_vulnerabilities` for faster queries. The table
is currently used only for Linux vulnerabilities, but could be used for
other OS vulnerabilities.
- Added `max_vulnerabilities` parameter per [API
doc](https://github.com/fleetdm/fleet/pull/33533)
- Also added `max_vulnerabilities` parameter to `os_versions/{id}`
endpoint, but not making it public since that endpoint is still slow and
needs other API changes. bug #34974
- Removed `"kernels": []` from `os_versions` endpoint result

# 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`.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

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

## Database migrations

- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

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

## Summary by CodeRabbit

* **New Features**
* Added ability to limit the number of vulnerabilities displayed for
operating system versions via an optional parameter.
* Introduced vulnerability count tracking for operating system versions,
now visible in API responses and UI displays.
* Enhanced operating system vulnerability visualization with improved
count-based rendering.

* **Tests**
* Added comprehensive test coverage for vulnerability limiting behavior
across multiple operating system versions and architectures.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-03 13:07:44 -06:00
jacobshandling
6602023c62
Use common global styles for certificate authority forms (#35079)
- Use global form and "modal-cta-wrap" styling for certificate authority
forms
- Confirmed all forms maintain desired style. See example below: 
L: this branch  |  R: Dogfood (main)
<img width="2562" height="1228" alt="Screenshot 2025-10-31 at 1 45
00 PM"
src="https://github.com/user-attachments/assets/68766ef4-9abe-47dc-bd2a-458bd04a5073"
/>
2025-11-03 10:05:26 -08:00
RachelElysia
044a1a9eca
Fleet UI: Fix conditions to ensure script modal doesn't open for nonscript installs (#35078) 2025-11-03 10:35:50 -05:00
Mike McNeil
509794e6a6
Fix capitalization: Update RegistrationPage.tsx (#34781)
https://fleetdm.com/handbook/company/why-this-way#why-does-fleet-use-sentence-case
2025-11-03 12:29:03 +00:00
Zach Wasserman
0cdde239b9
Add activity feed entries for host deletion and expiration (#34720)
**Related issue:** Resolves #33513 

# 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
2025-10-31 09:37:31 -07:00
Scott Gress
d4271986e0
End-user authentication for Window/Linux setup experience: backend (#34835)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34529 

# Details

This PR implements the backend (and some related front-end screens) for
allowing Fleet admins to require that users authenticate with an IdP
prior to having their devices set up. I'll comment on changes inline but
the high-level for the device enrollment flow is:

1. The handler for the `/orbit/enroll` endpoint now checks whether the
end-user authentication is required for the team (or globally, if using
the global enroll secret).
2. If so, it checks whether a `host_mdm_idp_accounts` row exists with a
`host_uuid` matching the identifier sent with the request
3. If a row exists, enroll. If not, return back a new flavor of
`OrbitError` with a `401` status code and a message
(`END_USER_AUTH_REQUIRED`) that Orbit can interpret and act accordingly.

Additionally some changes were made to the MDM SSO flow. Namely, adding
more data to the session we store for correlating requests we make to
the IdP to initiate SSO to responses aimed at our callback. We now store
a `RequestData` struct which contains the UUID of the device making the
request, as well as the "initiator" (in this case, "setup_experience").
When our SSO callback detects that the initiator was the setup
experience, it attempts to add all of the relevant records to our
database to associate the host with an IdP account. This removes the
enrollment gate in the `/orbit/enroll` endpoint.

# Checklist for submitter

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

- [ ] 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.
Will put the changelog in the last ticket for the story

- [X] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [X] Added/updated automated tests
will see if there's any more to update

- [X] QA'd all new/changed functionality manually
To test w/ SimpleSAML

1. Log in to your local Fleet dashboard with MDM and IdP set up for
SimpleSAML
   1. Go to Settings -> Integrations -> Identity provider
   2. Use "SimpleSAML" for the provider name
   3. Use `mdm.test.com` for the entity ID
4. Use `http://127.0.0.1:9080/simplesaml/saml2/idp/metadata.php` for the
metadata URL
1. Set up a team (or "no team") to have End User Authentication required
(Controls -> Setup experience)
1. Get the enroll secret of that team
1. In the browser console, do:
```
fetch("https://localhost:8080/api/fleet/orbit/enroll", {
  "headers": {
    "accept": "application/json, text/plain, */*",
    "cache-control": "no-cache",
    "content-type": "application/json",
    "pragma": "no-cache",
  },
  "body": "{\"enroll_secret\":\"<enroll secret>", \"hardware_uuid\":\"abc123\" }",
  "method": "POST",
});
``` 
replacing `<enroll secret>` with your team's enroll secret.

8. Verify in the network tab that you get a 401 error with message
`END_USER_AUTH_REQUIRED`
1. Go to
https://localhost:8080/mdm/sso?initiator=setup_experience&host_uuid=abc123
1. Verify that a new screen appears asking you to log in to your IdP
1. Log in to SimpleSAML with `sso_user / user123#`
1. Verify that you're taken to a success screen
1. In your database, verify that records exist in the `mdm_idp_accounts`
and `host_mdm_idp_accounts` tables with uuid `abc123`
1. Try the `fetch` command in the browser console again, verify that it
succeeds.

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
This is _not_ compatible with the current version of fleetd or the
soon-to-be-released 1.49.x. Until #34847 changes are released in fleetd,
this will need to be put behind a feature flag or withheld from Fleet
releases.

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added support for device UUID linkage during MDM enrollment to enable
host-initiated enrollment tracking
* Introduced setup experience flow for device authentication during
enrollment
* Added end-user authentication requirement configuration for macOS MDM
enrollment

* **Improvements**
* Enhanced MDM enrollment process to maintain device context through
authentication
* Updated authentication UI to display completion status for device
setup flows
  * Refined form layout styling for improved visual consistency

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-31 11:16:42 -05:00
Noah Talerman
5cb859d3bb
Fleet product: Simplify "Turned on MDM copy" (#35048)
Simplify copy on dashboard (MDM > Status card), Hosts page, and Host
details page.

Context:
https://github.com/fleetdm/fleet/issues/34044#issuecomment-3473098231
2025-10-31 11:20:24 -04:00
RachelElysia
9f174b7cdc
Fleet UI: Host details activity script package uses correct modal (#35050) 2025-10-31 10:55:16 -04:00
Gabriel Hernandez
b8f1a816aa
fix refetch button tooltip rendering on host details page (#34987)
**Related issue:** fixes #34840

This fixes the host details refetch button rendering. This includes:

1. refactoring to use TooltipWrapper component so that the styling of
the tip content is consistant
2. prioitise showing the host status tooltips over the offline tooltips.

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-31 14:21:47 +00:00
github-actions[bot]
15b0c88826
Fleet UI: Update osquery version options (#34723)
Automated update of MIN_OSQUERY_VERSION_OPTIONS with any new osquery
release. (Note: This automatic update is the solution to issue #21431)

Co-authored-by: RachelElysia <RachelElysia@users.noreply.github.com>
2025-10-30 19:31:07 -05:00
Ian Littman
7f5652daff
Remove previews, add preview links, make copy tweaks to setup experience configuration UI (#34980)
Fixes #34530 and #34452. idP config is in a subsequent commit and will
handle the dangling path added here.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# 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] QA'd all new/changed functionality manually
2025-10-30 17:32:06 -05:00
RachelElysia
c7ce54c267
Fleet UI: Show run/running for setup experience software scripts (#34938)
---------

Co-authored-by: Carlo DiCelico <carlo@fleetdm.com>
2025-10-30 09:41:36 -04:00
Marko Lisica
cac0d3b424
Fixed Firefox icon and moved viewBox from icon props to SVG element (#34076)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #31845

# Checklist for submitter

- [x] QA'd all new/changed functionality manually
2025-10-30 11:44:37 +01:00
Gabriel Hernandez
743d2b2c96
add truncation to data set values in certificate details modal (#34920)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Fixes #34652

Fixes an issue with the organizational unit value overflowing in the
certificate details modal.

This adds truncation to all data set values in this component so that
all values will be truncated if they overflow
2025-10-30 10:39:30 +00:00
Matt Hatcher
c4a6c9110b
remove premium check for OS settings (#34808)
**Related issue:** Resolves #34801

a quick fix to remove the premium check for os settings display on the
host details page. This feature does not require premium so we do not
need this check.

# 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.
- [x] QA'd all new/changed functionality manually
2025-10-30 10:34:32 +00:00
Ian Littman
1323781928
Fix TS compilation issue on query report table config display function (#34975)
- [x] QA'd all new/changed functionality manually
2025-10-29 18:19:52 -05:00
Scott Gress
7b7dd17772
Add host link on scheduled query report table (#34971)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33249

# Details 

This PR makes the host names in the scheduled query report link to the
respective host query reports. The requirement of having the host names
in the live query report link to the host details page was already
fulfilled in #34019.

# Checklist for submitter

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

## Testing

- [ ] Added/updated automated tests
trying but it's tricky to test a `Link` component's `href` without a
router.

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

For unreleased bug fixes in a release candidate, one of:

- [X] Confirmed that the fix is not expected to adversely impact load
test results
2025-10-29 17:56:45 -05:00
RachelElysia
03ddd18758
Fleet UI: Hide install modals' details button if no details to display (#34954) 2025-10-29 16:04:44 -04:00
Ian Littman
b4aae8976c
Reflect current reality in dark background logo tooltip copy (#34906)
Fixes #34621.

# 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] QA'd all new/changed functionality manually
2025-10-29 09:44:41 -05:00
Scott Gress
cdd54f83dc
Update script and profile uploaders (#34909)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32632 

# Details

Resolves a couple of issues caught in QA:

1. Script uploader now shows correct icon in empty state, *nix shell
script uploaded and Powershell script uploaded:
<img width="640" alt="image"
src="https://github.com/user-attachments/assets/7467d596-f3f9-43a3-9bfc-bb08d56e2c2b"
/>
<img width="640" height="360" alt="image"
src="https://github.com/user-attachments/assets/6d148672-38a5-49d1-b0ca-cb9e5d992b81"
/>
<img width="640" height="314" alt="image"
src="https://github.com/user-attachments/assets/b4dc3069-f54d-40d1-b7ef-3d1afc1a2e21"
/>

2. Updated title text for profile upload from "Update configuration
profile" to "Upload configuration profile"
<img width="640" height="275" alt="image"
src="https://github.com/user-attachments/assets/3daead86-3b40-415a-8472-6895402840bd"
/>
<img width="640" height="579" alt="image"
src="https://github.com/user-attachments/assets/40583c0f-83a6-4800-be21-f9e6fd5304d3"
/>




# Checklist for submitter

## Testing

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

For unreleased bug fixes in a release candidate, one of:

- [X] Confirmed that the fix is not expected to adversely impact load
test results
2025-10-29 09:37:47 -05:00