Commit graph

3725 commits

Author SHA1 Message Date
Carlo
3b01f6f529
Handle deleted Android Enterprise (#32267)
Implements #26868; adds `EnterpriseLIST` method to Android Management API client
interface

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-09-04 08:17:37 -04:00
Victor Lyuboslavsky
808250f585
Added frontend support for No team automations (#32507)
Fixes #32061 

- Depends on the backend changes in #32387 for full functionality
- Removed special case for primo mode

# Checklist for submitter

## Testing

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


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

## Summary by CodeRabbit

* **New Features**
* Team-level configuration now supports the “No Team” selection (team
0).
* Expanded availability of the “Other” option in the Automations
dropdown for non-maintainers.

* **Bug Fixes**
  * Team 0 loads correctly in Policies management.
* Automations configuration correctly switches between global (All
Teams) and team contexts, including No Team.
* Post-update refresh behavior is consistent: global refresh for All
Teams, team refresh otherwise.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-02 18:02:54 -05:00
jacobshandling
669aaa7f2d
UI - Delete secret modal: Close modal on error/success, truncate long var names, add missing copy, fix copy alignment (#32508)
## For #32465 

Modal closes when delete errors:
<img width="1350" height="877" alt="Screenshot 2025-09-02 at 10 20
35 AM"
src="https://github.com/user-attachments/assets/daa97771-ba2f-49a7-9324-a2ce3f5bbe46"
/>

and when it succeeds:
<img width="1350" height="877" alt="Screenshot 2025-09-02 at 10 22
01 AM"
src="https://github.com/user-attachments/assets/94404529-bf8c-4c3a-bd0f-af3bab8bdc35"
/>

Short variable names render inline, additional copy underneath:
<img width="1074" height="610" alt="Screenshot 2025-09-02 at 11 33
16 AM"
src="https://github.com/user-attachments/assets/61958099-4450-4e2f-9ee8-f6ed15be8f2b"
/>

While long ones are truncated with the full value displayed in a
tooltip, also inline with additional copy underneath:
<img width="1074" height="610" alt="Screenshot 2025-09-02 at 11 33
55 AM"
src="https://github.com/user-attachments/assets/1fb45cb1-9252-45c9-a62e-c39cae05caaa"
/>

- [x] QA'd all new/changed functionality manually
- [x] Updated tests
- [x] Confirmed that the fix is not expected to adversely impact load
test results

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-09-02 12:55:47 -07:00
RachelElysia
a33ea94a24
Device User Page: Fix unreleased modal margins bug (#32506) 2025-09-02 14:13:24 -04:00
Gabriel Hernandez
617ba5e8b3
fix overflow of certificates content on host details page (#32487)
fixes #32209 

this is a fix for the host details and my device pages where the content
was overflowing past the edge of the screen on narrow widths

It required a small change to the grid columns to keep the content
within the grid.

- [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)
2025-09-02 17:12:28 +01:00
Carlo
6879f879f4
Exclude 'pending' hosts from missing host counts (#32297)
Implements ABM pending host exclusion for #31359.
2025-09-02 08:21:25 -04:00
Rachael Shaw
7fa36bbaa1
Update calendar event text to match recent changes to "My device" page (#32334)
We changed "No" to "Fail" as part of the conditional access story.
2025-08-29 14:52:44 -05:00
jacobshandling
166e5ed663
UI: Batch script run detail page (#32333)
## For #31226 

New features:
- Dynamic header for each possible state of a batch script run: Started,
Scheduled, and Finished (corresponds to tabs at
`/controls/scripts/progress`
- Unique tabs for each possible status of hosts targeted by a batch
script run: Ran, Errored, Pending, Incompatible, Canceled.
- Within each tab, sortable, paginated host results with output preview
and execution time.
- View script/run details, cancel a batch, view manage hosts page
filtered for the script batch run and a status.
- Global script batch runs activities and and Scripts progress rows now
navigate to this details page.

Cleanups and improvements:
- Expand tab count badge options using “alert”/“pending” variants across
hosts, policies, and query results.
- Misc cleanups and improvements


![ezgif-1438d4041f694f](https://github.com/user-attachments/assets/2d93127b-dea4-4ca6-abcc-7c888b2e0b93)


- [x] Changes file added for user-visible changes in `changes/`,


- [x] Updated automated tests - new tests tracked for follow-up work
- [x] QA'd all new/changed functionality manually

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-08-29 09:37:05 -06:00
RachelElysia
3bd3d9bd48
Fleet UI: Remove inaccurate updated never timestamp (#32425) 2025-08-29 11:08:04 -04:00
RachelElysia
bbfd21caeb
Fleet UI: Consistent banner link colors (#32427) 2025-08-29 11:06:59 -04:00
Luke Heath
ac7972311b
Remove inline script from React script tag (#32415) 2025-08-28 11:35:56 -05:00
RachelElysia
37e25f58bc
Fleet UI: Allow software + os filter onto manage host page (#32350) 2025-08-28 09:10:29 -04:00
Lucas Manuel Rodriguez
7341249025
Fix one-off error in secret variable length check (#32386)
For #32381.
2025-08-27 20:33:22 -03:00
Allen Houchins
7397b70bcc
Update AppleBusinessManagerSection.tsx (#32374)
- fixed typo
2025-08-27 15:02:53 -04:00
Dhruv Trivedi
431decc3ce
fix: standardize team_id handling in policy activities (#32151)
handles the edge case mentioned in QA Notes #27689 and
- Use consistent *int64 for TeamID across all policy activity types 
- Fix JSON omitempty issue causing team_id: 0 to be omitted(to fix a
small copy test bug in Frontend)

## Testing

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

Current Output
<img width="639" height="166" alt="image"
src="https://github.com/user-attachments/assets/ee17b3ee-65c9-430f-ae3b-3c350f7e20f9"
/>
<img width="647" height="524" alt="image"
src="https://github.com/user-attachments/assets/9bc01988-ccca-4ea4-84bf-3a15f35ba428"
/>

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
2025-08-27 08:43:36 -05:00
Scott Gress
dc4fd676c5
Update password requirements check when setting up (#32261)
for #31876 

# Details

This PR updates the validation for password requirements to be
consistent in all places, and to show more specific error messages when
the entered password does not meet the requirements.

Previously the `valid_password` helper just returned a boolean
indicating whether a password was valid. It now returns an object with
`isValid`, `error` and `error_code` so that different types of password
issues can be surfaced. This allows us to continue having a single
source of truth for password validation, while providing more helpful
error messages when a password doesn't meet our criteria.

# 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
- [X] QA'd all new/changed functionality manually
  - [X] First time setup (adding the initial user)
  - [X] Add user in settings -> manage users
  - [X] Changer user password in settings -> manage users
  - [X] Password reset form
2025-08-26 16:59:05 -05:00
Lucas Manuel Rodriguez
0b0e8c2aa2
Add success notifications for variables (#32251)
Nit: Missing feedback to user after creation or deletion of variables.
Found while testing #29235.

Added similar text used when creating or deleting other entities like
queries or scripts.
2025-08-26 17:45:02 -03:00
Scott Gress
0a4d03f20e
Allow string concat in LIKE op in query editor (#32254)
for #30854 

# Details

This PR updates our SQL query parser to allow string concatenation
inside of LIKE expressions, e.g.

```sql
SELECT * FROM file WHERE path LIKE 'C:' || CHAR(92) || 'Users' || CHAR(92) || 'example.txt';
```

See https://github.com/sgress454/node-sql-parser/pull/1/files for the
code changes in the parser, which are packaged into the changes in this
PR using the instructions
[here](https://github.com/fleetdm/fleet/blob/sgress454/30854-allow-concat-in-like/frontend/utilities/node-sql-parser/README.md#L12).

PR to upstream package:
https://github.com/taozhi8833998/node-sql-parser/pull/2552

# 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
(in upstream repo)

- [X] QA'd all new/changed functionality manually
2025-08-26 14:08:49 -05:00
Scott Gress
4d31fe1c5e
Custom Variables UI updates (#32304)
for #32269 
for #32271 
for #32285

# Details

This PR addresses some front-end issues found during QA testing of the
new Custom Variables UI

# Checklist for submitter

## Testing

- [X] Added/updated automated tests

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

* Spaces allowed in custom variable values:
<img width="659" height="399" alt="image"
src="https://github.com/user-attachments/assets/e849636f-d91c-4649-a6f1-82bc2397cbbe"
/>

* Overflow in add var modal
<img width="657" height="412" alt="image"
src="https://github.com/user-attachments/assets/d04563e1-df29-457d-976a-b6b05b3aa623"
/>

* If it's too long, show error
<img width="664" height="414" alt="image"
src="https://github.com/user-attachments/assets/91100d0c-35b5-4cd2-a779-6a34bfdc9fc3"
/>

* Overflow in table too
<img width="1031" height="178" alt="image"
src="https://github.com/user-attachments/assets/4833bd64-2f3f-4de7-9392-1955341a5a96"
/>

* Added "Learn More" button and correct margin between tabs and
description
<img width="1053" height="224" alt="image"
src="https://github.com/user-attachments/assets/4db5116c-0a77-4427-ad61-9bde6e94679b"
/>

* Team admins / maintainers can no longer see "Add" or "Delete" var
buttons
<img width="1031" height="374" alt="image"
src="https://github.com/user-attachments/assets/a15ab358-a6de-4d0b-9df9-aa2e7ed5c0cb"
/>

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

- [X] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed
2025-08-26 14:08:15 -05:00
Juan Fernandez
56c0773ff3
Validate Require BitLocker PIN (#32240)
For #28133

Validate that if 'Require BitLocker PIN' is enabled, disk encryption
must be enabled as well.
2025-08-26 13:23:24 -04:00
RachelElysia
b05f5ece6e
Fleet UI: Add self-service opening instructions to apps and programs (#32169) 2025-08-26 11:02:30 -04:00
jacobshandling
2fdee71031
UI: Update script batch success message formatting (#32282)
## For #32218 

<img width="1558" height="944" alt="Screenshot 2025-08-25 at 11 50
16 AM"
src="https://github.com/user-attachments/assets/d22e8771-2bb7-48a3-9597-3fe8c93fd3f1"
/>
<img width="1558" height="944" alt="Screenshot 2025-08-25 at 11 50
41 AM"
src="https://github.com/user-attachments/assets/888b8bad-283b-4d57-ab8f-bdd4b21b687b"
/>
<img width="1558" height="944" alt="Screenshot 2025-08-25 at 11 54
15 AM"
src="https://github.com/user-attachments/assets/264221cd-d20b-4c1d-9ec3-ec75f1824ceb"
/>


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

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-08-25 15:38:37 -07:00
Lucas Manuel Rodriguez
632f731233
Remove text from remove variable dialog (#32249)
Missing change from #29235.
See decision
[here](https://github.com/fleetdm/fleet/issues/29235#issuecomment-3208040863).

<img width="675" height="264" alt="Screenshot 2025-08-25 at 10 14 29 AM"
src="https://github.com/user-attachments/assets/0446412e-7d13-40fc-ae2c-94e8bab04b9e"
/>
2025-08-25 15:02:37 -03:00
Juan Fernandez
d818f2f18f
Fixed UI issue in Dashboard page around Software card. (#32105)
For #31379

Fixed UI issue in the Dashboard page. The software card is now rendered
while content is been fetched to avoid the layout to jump around.
2025-08-25 13:52:25 -04:00
Lucas Manuel Rodriguez
969a08aea2
Fix script library pagination (#32232)
## #32236 

Found this bug while testing > 10 scripts or so per-team for another
story.

@jacobshandling mentioned we were missing passing `currentPage` to
`SideNav`.

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-08-25 14:49:04 -03:00
RachelElysia
ae288acfe1
4.73 Fleet UI: Add vuln tooltip (#32260) 2025-08-25 12:38:01 -04:00
Victor Lyuboslavsky
2fd6a86f41
When updating multiple policies in the UI, the policies are now updated in series to reduce server/DB load. (#32212)
Fixes #31173 

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [x] QA'd all new/changed functionality manually
2025-08-25 10:02:52 -05:00
Scott Gress
4ce8a095c7
Reload view after canceling script, and update time validation (#32242)
for #32238

# Details

* After a script is canceled, refresh the current tab to show that the
canceled script is no longer there
* When scheduling a script, check the specified time against UTC, not
current timezone time of day.

# 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-08-25 09:15:12 -05:00
Juan Fernandez
929b42bb41
Fixed UI issues on BitLocker modal (#32217)
For #28133

- Fixed top margin issue on modal body.
- Add missing done button.
2025-08-22 15:00:45 -04:00
jacobshandling
2ed68ed118
UI: handle null response from batch script summary endpoint (#32106)
## For #32094 

<img width="1800" height="1088" alt="Screenshot 2025-08-19 at 8 08
12 PM"
src="https://github.com/user-attachments/assets/3f83e4bf-af58-48bf-868f-d1417f420f50"
/>


- [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
- ~[ ] Alerted the release DRI if additional load testing is needed~

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-08-22 10:44:46 -07:00
Carlo
8212180819
Extract Android disk storage data (#32133)
Implements Android storage data extraction for issue #27080.
2025-08-22 12:27:15 -04:00
Lucas Manuel Rodriguez
53b7a0628a
Prevent IT admins from deleting a secret variable in use (#32161)
#31977

Tested with:
224 scripts, 102 Apple configuration profiles, 105 Apple declarations,
37 Windows configuration profiles. Scattered in 7 teams.

No variables on profiles/scripts:
- scan scripts: 22.079416ms
- scan apple profiles: 1.865083ms
- scan apple declarations: 683.75µs
- scan windows profiles: 531.167µs

A variable "X" on with profiles/scripts that have variable "Y":
- scan scripts: 26.305459ms
- scan apple profiles: 1.841708ms
- scan apple declarations: 756.917µs
- scan windows profiles: 571.875µs

---

## Testing

- [X] 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
- [X] Alerted the release DRI if additional load testing is needed

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

## Summary by CodeRabbit

- New Features
- Prevents deleting a secret that’s still in use. The system now checks
scripts, Apple/Windows MDM profiles, and Apple declarations across teams
before allowing deletion.
- The delete dialog now shows a clear message indicating which item (and
team) is using the secret, replacing the previous generic error.
- Deletion succeeds once all references are removed, ensuring safer
secret management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-22 11:22:37 -03:00
RachelElysia
224dd739fb
FE: Componentize UpdatesCard + tests (#32024) 2025-08-22 09:18:17 -04:00
Gabriel Hernandez
6ffaaaae31
UI fixes correcting links on end user auth form and showing fields in user card for ios and ipad (#32198)
fixes #32135, #32132

this is two fixes for the IdP story:

1. splits out the links for the view idp and eula on the end user auth
form.
2. shows the user card fields for ios and ipad

- [x] QA'd all new/changed functionality manually
2025-08-22 14:01:10 +01:00
RachelElysia
b71df4f223
FE: Cleanup lint warnings (#32086) 2025-08-21 16:21:45 -05:00
jacobshandling
013c1af161
UI: Disable add var in gitops mode (#32170)
## #32166 

<img width="1000" height="576" alt="Screenshot 2025-08-21 at 10 47
05 AM"
src="https://github.com/user-attachments/assets/e1ca3ca4-c679-4d17-9143-d83a5301129e"
/>


## Testing

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-08-21 14:12:40 -07:00
Noah Talerman
d3f31cee4a
Create PIN modal: Update copy (#31996)
Copy updates for the following user story:
- #28133 

[Figma
wireframes](https://www.figma.com/design/XbhlPuEJxQtOgTZW9EOJZp/-28133-Enforce-BitLocker-PIN?node-id=5375-1866&t=4nRU3IjUNnCqPprA-1):

<img width="615" height="384" alt="Screenshot 2025-08-15 at 5 33 11 PM"
src="https://github.com/user-attachments/assets/41690b3e-9ce6-4d78-b921-17dc47ec5557"
/>

Context:
https://fleetdm.slack.com/archives/C084F4MKYSJ/p1755293642058649?thread_ts=1755276957.814649&cid=C084F4MKYSJ

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
2025-08-21 16:14:47 -04:00
Juan Fernandez
66f255e4eb
Use proper prefix for user_failed_login activity (#32092)
For #31343

Fixed the message rendered from user_failed_login global activities on
the Activity feed if the email is not specified.
2025-08-20 17:39:57 -04:00
Scott Gress
ba9b204875
Fix flaky UI test for custom variables list (#32114)
# Details

Fixes a flaky UI test introduced with the Secrets page. The failure was
due to some bugs in the test code (see comments).
2025-08-20 13:56:39 -05:00
Jahziel Villasana-Espinoza
bbcf4c5142
update copy and link to vulns processing article (#32123)
> Closes #32037

# 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-08-20 12:56:02 -04:00
RachelElysia
8d971cc90c
Fleet UI: Fix h1 font size (#32078) 2025-08-20 09:13:56 -04:00
RachelElysia
dae35c887b
FE: Add tests to install/uninstall modals (#31992) 2025-08-19 09:04:07 -04:00
RachelElysia
ec12482d2f
Fleet UI: Re-add missing tarballs summary card (#32056) 2025-08-18 17:14:20 -04:00
RachelElysia
a1d6bc39d7
Fleet UI: Fix vulns from being counted multiple times in vuln count (#32044) 2025-08-18 17:09:44 -04:00
RachelElysia
b7286d0163
Fleet UI: Fix missing space/bullet in copy (#32062) 2025-08-18 17:06:45 -04:00
Magnus Jensen
9a859736c2
IdP Authentication before BYOD (#32017)
fixes: #29222 

This is a feature branch that was completed last week, but did not get
merged in time.

All pr's going in was approved, and reviewed.

I will after this is merged, do a cherry pick onto the RC 4.73 branch,
and initiate the FR merge process.

---------

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-08-18 18:31:53 +02:00
Luke Heath
69388c69a7
Remove five character requirement for entity id in SSO and IdP settings (#30712) 2025-08-15 16:34:30 -05:00
Gabriel Hernandez
5d8973d484
fix issue wih showing os updates page with user being admin on one team and maintainer on another (#31963) 2025-08-15 15:36:35 -05:00
Scott Gress
17d1904f67
Add missing batch script activities (#31941)
for #31532 

# Details

This PR adds templates for displaying the "Scheduled batch script" and
"Canceled batch script" global activity feed items. It also updates the
"Cancel batch script?" modal to show a spinner on the cancel button when
applicable.

# Checklist for submitter

## Testing

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

<img width="820" height="210" alt="image"
src="https://github.com/user-attachments/assets/45c8b15c-b100-4356-aa65-24441ecc16a0"
/>
2025-08-15 10:14:39 -05:00
Scott Gress
2e1ce02796
UI for managing custom variables (#31875)
for #31054

# 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

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

- [X] QA'd all new/changed functionality manually
2025-08-15 08:24:55 -05:00
Jahziel Villasana-Espinoza
56284ef87b
make sure vulns are shown in list OS page, and fix the names (#31930)
# Checklist for submitter

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


## Testing

- [x] 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-08-14 16:47:58 -04:00
RachelElysia
5565677244
Fleet UI: Prevent scroll modal bug (#31920) 2025-08-14 13:18:47 -04:00
RachelElysia
b58a4d6d45
Fleet UI: Fix OS vs. Software icon bug (#31911) 2025-08-14 13:18:24 -04:00
Scott Gress
443a55111f
Add "incompatible with script" filter for hosts (#31868)
for #31282

# Details 

This PR adds the ability to filter hosts by the "incompatible with batch
script" status. These hosts were previously included in the "Error"
state for a batch script when viewing the script summary.

The current script summary modal doesn't include a row for incompatible
(this modal will be replaced in the next iteration of the batch script
scheduling feature). To see the filter at work, you can either use the
API directly, or:

1. View the summary modal for a batch script by clicking on its activity
item in the global feed
2. Click on the number in any row (e.g. "Error" or "Pending")
3. Change the dropdown beneath the team selector to "Incompatible"
<img width="472" height="339" alt="image"
src="https://github.com/user-attachments/assets/04c6bc05-fe88-4be3-91ca-8b7162e1c6f3"
/>

Also renamed `cancelled` to `canceled` in a couple places to make the
spelling consistent.

# 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] 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
2025-08-14 11:55:19 -05:00
Scott Gress
466d1382e7
remove feature flag from bitlocker (#31886)
# Details

Realized we left the feature flag in for BitLocker, so this PR removes
it. We also discussed during the last demo that "Advanced" should always
be visible, even when the "Turn on disk encryption" is not checked.

# 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.
n/a

## 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)

- [X] QA'd all new/changed functionality manually
2025-08-14 10:11:00 -05:00
Scott Gress
e985d20b1d
UI for scheduling batch scripts (#31885)
# Details

This PR merges the feature branch for the scheduled scripts UI into
main. This includes the following previously-approved PRs:

* https://github.com/fleetdm/fleet/pull/31750
* https://github.com/fleetdm/fleet/pull/31604
* https://github.com/fleetdm/fleet/pull/31797


# 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
- [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

---------

Co-authored-by: jacobshandling <61553566+jacobshandling@users.noreply.github.com>
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-08-14 10:10:45 -05:00
RachelElysia
b784a539ec
Fleet UI: Add Linux kernel vulns card/table (#31840) 2025-08-14 09:30:49 -04:00
github-actions[bot]
482932b7a6
Fleet UI: Update osquery version options (#31889)
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: iansltx <iansltx@users.noreply.github.com>
2025-08-13 16:50:49 -05:00
Ian Littman
100ffc5c4a
Show "Never" or "Not supported" on last opened time on software as appropriate (#31603)
Fixes #31268.

# 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] 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] QA'd all new/changed functionality manually
2025-08-13 13:14:09 -05:00
RachelElysia
df9eb58d52
Fleet UI: Custom CVSS scores followup (#31849) 2025-08-13 09:55:35 -04:00
Gabriel Hernandez
d9f23e23c3
add columns to host details and my device certificates table (#31701)
relates to #27567

this adds two columns to the certificates table on host details and my
device pages; the issuer cell and the issued cell.

This also makes a change to TooltipTruncateTextCell that set the value
as `---` if the provided value is undefined, null, or empty string. This
still allows the number `0` to be provided

<img width="1205" height="540" alt="image"
src="https://github.com/user-attachments/assets/b712ccda-b5be-422d-9489-612ccdacab79"
/>

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] QA'd all new/changed functionality manually


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

## Summary by CodeRabbit

* **New Features**
* Added "Issuer" and "Issued" columns to the certificates table on host
details and my device pages, providing more certificate information.
* **Style**
* Improved table styling with horizontal scrolling for overflowing
content and consistent sizing for status indicators.
* **Bug Fixes**
* Ensured empty or missing table cell values are consistently displayed
with a default placeholder.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-13 14:01:38 +01:00
RachelElysia
4ff53b96d3
Fleet UI: Unreleased clientside pagination bug fix (#31823) 2025-08-12 13:13:37 -04:00
RachelElysia
be928e2c19
Fleet UI: Fix VPP pending bugs (#31787) 2025-08-11 13:12:56 -04:00
Dante Catalfamo
19e963f8a8
Validate gitops url in frontend and backend (#31243)
#29554

- [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] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: jacobshandling <61553566+jacobshandling@users.noreply.github.com>
2025-08-08 17:08:07 -07:00
Juan Fernandez
4bf7a5a8f4
Added new global activity when disk encryption key is escrowed (#31634)
For #30384

Record new Fleet initiated activity everytime a new key is escrowed.
2025-08-08 12:14:48 -04:00
RachelElysia
caf85f9eb2
Fleet UI: Move sort to url query params, still client side (#31714) 2025-08-08 12:13:48 -04:00
RachelElysia
974bc00862
Fleet UI: Shows right status for vpp apps installed manually (#31674) 2025-08-08 11:05:54 -04:00
William Theaker
dbde8e2e2b
Minor custom package wording change (#31717)
> Currently, shell scripts are supported.

this sounds to me like shell scripts might not be supported in the
future.
2025-08-07 19:09:42 -05:00
RachelElysia
59f628783c
Fleet UI: Show temporary "Updated" status while waiting for software inventory update (#31702)
## Issue
Closes #31629 

## Description 
- Added temporary "Updated" status requires a new UI status and to check
refetch time stamps against `last_install` WITH updates available to
ensure showing "Updated" instead of "Updates available'
- wrote tests
- Added temporary "Installed" status requires a new UI status and to
check refetch time stamps against `last_install` to ensure "installed"
vs. "whatever other status would show"
- wrote tests
- Added temporary "---" status requires a new UI status and to check
refetch time stamps against `last_uninstall` to ensure "---" vs.
"whatever other status would show"
- wrote tests
- Added tooltips to all 3 temporary statuses to ensure users know it's a
temporary status "Fleet successfully [installed/uninstalled/updated]
software and is fetching latest software inventory."

## Screenrecording of mini feature
It works!
https://fleetdm.zoom.us/clips/share/6EPbQs2_R4mqWaqbNpd1iQ
All 3 temporary statuses (watch in 2x)
https://fleetdm.zoom.us/clips/share/iRSdgb5HQ6uEJv3wkhmXtA

# Checklist for submitter

## Testing

- [x] Added/updated automated tests

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

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-08-07 16:35:41 -05:00
Luke Heath
3d474b1916
Set line-height on .data-set class (#31659) 2025-08-07 13:19:59 -05:00
RachelElysia
aae6147487
Fleet UI: VPP Token All teams option bug fix (#31587) 2025-08-07 09:00:51 -04:00
RachelElysia
9ac650c24c
Fleet UI: Add back uninstall script content for uninstalls with no script output (#31669) 2025-08-06 15:34:11 -04:00
RachelElysia
b136084e8c
Fleet UI: Fix clientside url source of truth bug (#31664) 2025-08-06 15:33:27 -04:00
RachelElysia
d812991429
Fleet UI: Stop propogation of clickable parent on a custom link (#31662) 2025-08-06 15:33:07 -04:00
RachelElysia
6168370a66
Fleet UI: Better responsive breakpoints, truncate software name cell (#31627) 2025-08-06 15:32:52 -04:00
Scott Gress
6a268f173c
Add banners for Windows hosts that need to set BitLocker PIN (#31453)
for #31196 

# 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 add changelog when feature is complete.

## Testing

> Note - to enable the "require bitlocker pin" ui, compile front end
with:
```
SHOW_BITLOCKER_PIN_OPTION=true NODE_ENV=development yarn run webpack --progress --watch
```
- [X] Added/updated automated tests
- [X] QA'd all new/changed functionality manually

I had to add/remove the `tpm_pin_set` flag in the db manually, but by
doing that I was able to get the banners to appear, when running
https://github.com/fleetdm/fleet/pull/31451.

<img width="1158" height="128" alt="image"
src="https://github.com/user-attachments/assets/f3e4dc62-5e1f-410a-a684-11aee3e29f50"
/>

---

<img width="833" height="375" alt="image"
src="https://github.com/user-attachments/assets/b178f203-1399-4dd1-b743-558bd77b175b"
/>

---

<img width="1160" height="199" alt="image"
src="https://github.com/user-attachments/assets/cf86380c-d84c-47fd-b62f-349f0a4bb718"
/>

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-08-06 13:13:36 -05:00
RachelElysia
6feb13a09c
Fleet UI: Ensure icon id uniqueness (#31625) 2025-08-06 09:11:27 -04:00
RachelElysia
b485aeca5b
Fleet UI: Add custom CVSS scores input fields (#31456) 2025-08-05 16:29:55 -04:00
RachelElysia
30d60dce1a
Fleet UI: Tarballz allow uninstall bug fix (#31607) 2025-08-05 14:27:58 -04:00
Scott Gress
7a8f18cc8f
Implement BitLocker "action required" status (#31451)
for #31182 

# Details

This PR implements the "Action Required" state for Windows host disk
encryption. This includes updates to reporting for:

* disk encryption summary (`GET /fleet/disk_encryption`)
* config profiles summary (`GET /configuration_profiles/summary`)
* config profile status ( `GET
/configuration_profiles/{profile_uuid}/status`)

For disk encryption summary, the statuses are now determined according
to [the rules in the
Figma](https://www.figma.com/design/XbhlPuEJxQtOgTZW9EOJZp/-28133-Enforce-BitLocker-PIN?node-id=5484-928&t=JB13g8zQ2QDVEmPB-0).
TL;DR if the criteria for "verified" or "verifying" are set, but a
required PIN is not set, we report a host as "action required".

For profiles, I followed what seems to be the existing pattern and set
the profile status to "pending" if the disk encryption status is "action
required". This is what we do for hosts with the "enforcing" or
"removing enforcement" statuses.

A lot of the changes in these files are due to the creation of the
`fleet.DiskEncryptionConfig` struct to hold info about disk encryption
config, and passing variables of that type to various functions instead
of passing a `bool` to indicate whether encryption is enabled. Other
than that, the functional changes are constrained to a few files.

> Note: to get the "require bitlocker pin" UI, compile the front end
with:
```
SHOW_BITLOCKER_PIN_OPTION=true NODE_ENV=development yarn run webpack --progress --watch
```

# 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.
Changelog will be added when feature is complete.

- [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)

- [ ] QA'd all new/changed functionality manually
Could use some help testing this end-to-end. I was able to test the
banners showing up correctly, but testing the Disk Encryption table
requires some Windows-MDM-fu (I just get all zeroes).

## Database migrations

- [X] Checked table schema to confirm autoupdate
- [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`).
2025-08-05 11:23:27 -05:00
RachelElysia
3ce6768845
Fleet UI: Fix vulnfilter not supported (#31401)
---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-08-04 09:31:15 -04:00
Dhruv Trivedi
39097df51f
Include full CVE in description when no hosts are affected (#31370)
Closes #31377 
# 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-08-02 09:45:19 -05:00
jacobshandling
edf7bec845
UI: Make consistent and update the Install and Uninstall detail modals for VPP and non-VPP apps across the Fleet UI (#31420)
# #30860 

## Summary
* **New Features**
* Introduced dedicated modals for viewing install and uninstall details
for both VPP and non-VPP software, providing clearer and more consistent
information.
* Added support for displaying detailed install information for VPP host
software and improved handling of install status actions.
* Added an Inventory Versions modal to display detailed version history
for installed software on a host.

* **Improvements**
* Standardized and improved the design and behavior of install/uninstall
detail modals across the app.
* Refined callbacks and state management for launching modals from host
and self-service software tables.

* **Bug Fixes**
* Addressed issues with property naming and callback signatures in
install status handling.
* Addressed inconsistencies in displaying software details and status
across different components.

* **Refactor**
* Streamlined component props, callback signatures, and data models for
improved maintainability.
* Updated test cases and interfaces to align with the new modal and
callback structure.
* Removed legacy software details modal and related code, streamlining
the user interface.

* **Style**
* Updated modal and table styles for improved readability and
consistency.


## *Important note: Host software library modals for VPP apps currently
show only installed versions due to [an API bug that is being
addressed](https://github.com/fleetdm/fleet/issues/31459)


## Install details modal in various locations and states :

### Activity feeds (global, host details), non-VPP:

![ezgif-7af8221d19cd91](https://github.com/user-attachments/assets/bb90dcb6-6d99-455b-8e70-0cd905dd7b2d)

### Device user page self-service, non-VPP (with Retry functionality):

![ezgif-7d1b107f56dc16](https://github.com/user-attachments/assets/e4b91bf6-01bf-423e-9542-3ae4d2d17422)

### Host software library, non-VPP:

![ezgif-76c029bd028544](https://github.com/user-attachments/assets/931b6076-87d5-4e77-92ab-86fad323d396)

### Activity feeds (global, host details), VPP apps:

![ezgif-75eb0ebecb1893](https://github.com/user-attachments/assets/084eca68-4cf7-423a-8cb9-b14ea6d4c2d3)

### Device user page self-service, VPP apps (with Retry functionality):

![ezgif-728e4e8c2a595e](https://github.com/user-attachments/assets/969d1d49-b014-49a2-9c64-3c0dd88b05cc)

### Uninstall modal samples - TODO

- [x] Changes file added for user-visible changes in `changes/`

## Testing

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: RachelElysia <rachel@fleetdm.com>
2025-08-01 12:45:09 -07:00
Victor Lyuboslavsky
949a1eeabb
Add sso_server_url configuration for dual URL SSO setups (#31497)
This change allows configuring a separate URL for SSO callbacks, which
is useful when organizations have different URLs for admin access vs
agent/API access.

Fixes #31480 the SSO issue where organizations with dual URL setups were
getting 'Destination does not match requested URL' errors after
upgrading to v4.71.0 with the new SAML library.

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

# 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
- [ ] QA'd all new/changed functionality manually

## New Fleet configuration settings

- [x] Verified that the setting is exported via `fleetctl
generate-gitops`
- [x] 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)
  - Same PR since this is going to be a 4.71.1 patch
- [ ] 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)
- [x] Verified that any relevant UI is disabled when GitOps mode is
enabled

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

## Summary by CodeRabbit

* **New Features**
* Added support for configuring a dedicated SSO URL, allowing
organizations to restrict SSO authentication to a specific URL.
* The new SSO URL option is available in both the UI and API
configuration settings.

* **Documentation**
* Updated configuration and API documentation to include the new SSO URL
option with usage examples.

* **Bug Fixes**
* Resolved authentication issues for organizations using separate URLs
for admin and agent/API access.

* **Tests**
* Added new unit and integration tests to verify SSO behavior with and
without the dedicated SSO URL.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 20:32:15 +02:00
Gabriel Hernandez
05d6cbc3c8
change button styles for turn on mdm info banner (#31374)
fixes #29410 

quick update to the turn on mdm button in the info banner.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] QA'd all new/changed functionality manually
2025-08-01 15:36:03 +01:00
Gabriel Hernandez
eb7b07bc46
update manage host table to not include serial number cell for personally devices enrolled in mdm (#31448)
quick change to host table to show "Not supported" for the serial number
cell for persaonl devices enrolled in mdm.

I've pulled out the check if a host is a personal device enrolled in mdm
and have used this where needed.
2025-07-31 18:07:38 +01:00
Noah Talerman
e767146ae3
My device page: Change copy under "Updates" (#31449)
For the following unreleased bug:
- #31414
2025-07-31 12:29:38 -04:00
Noah Talerman
940ca5fd15
UI copy tweak: New label page (#31425)
- IdP labels are macOS only but Fleet isn't clear about this. Address
the confusion from Fleeties and customers/users:
  - https://github.com/fleetdm/fleet/issues/31285
  - https://fleetdm.slack.com/archives/C02A8BRABB5/p1753886293561879
2025-07-31 12:25:13 -04:00
Gabriel Hernandez
24e7934646
dont show os updates page for users who are not global admin or the team admin (#31410)
fixes #25367 

this doesnt show the os updates page for users who are not global admins
or the current team admin. we also redirect users to the os settings
page if they try to navigate to the os updates page and dont have
permission

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] QA'd all new/changed functionality manually
2025-07-31 12:04:06 +01:00
Dhruv Trivedi
5b68247c14
Activity feed: Surface team_id and team_name in policy and query activities (#28394)
fix #27689
# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (added in the
comment)
- [x] Manual QA for all new/changed functionality

output ss
![Screenshot 2025-04-20
100928](https://github.com/user-attachments/assets/b62c1370-18e6-4d0f-a8ab-3a3d2d2084c7)
![Screenshot 2025-04-20
101101](https://github.com/user-attachments/assets/4f052242-d4c0-4027-afef-37f8d29991fc)

Noticed that editing a global policy doesn't generate an edited_policy
activity log in my local environment, while it does in others.
Investigated the gap and shared findings in the issue thread for further
clarification(in https://github.com/fleetdm/fleet/issues/27689)

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-07-29 17:57:21 -05:00
RachelElysia
cd82898b79
Fleet UI: Refetch polling reset timeout reset after every new poll (4.72 Unreleased bug fix) (#31328) 2025-07-29 13:36:24 -04:00
jacobshandling
ee5cadfe71
UI: Fix inclusion condition for 'Other workflows' policy automation (#31358)
## #31333

- Include the "Other workflows" Policy automation option for all team
scenarios _except_ No team in regular (non-Primo) mode
- Manually confirmed this option is present in the intended situations
- Manually confirmed that Primo mode still does contain this option

![ezgif-3c63270745ec61](https://github.com/user-attachments/assets/3f2e8f6f-1b4a-4d88-9147-d013e7efcd7f)

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

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-28 13:54:16 -07:00
RachelElysia
80b4c34a52
Fleet UI: Remove unintended broken sort on type column (#31264) 2025-07-28 09:08:34 -04:00
jacobshandling
22147a5b46
FE: Add optional label to InventoryVersions (#31302) 2025-07-28 09:07:21 -04:00
jacobshandling
5d728f4229
Misc. FE code cleanup (#31257)
All unused

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-25 16:12:23 -07:00
Scott Gress
02c5026436
Allow ESCAPE in LIKE clauses to be valid SQL (#31222)
for #30109

# Details

This PR fixes an issue in our current SQL parsing library that was
causing queries like this to be marked invalid:

```
SELECT * FROM table_name WHERE column_name LIKE '\_%' ESCAPE '\'
```

This is valid in SQLite because the `\` is not considered an escape
character by default. From [the SQLite
docs](https://www.sqlite.org/lang_expr.html) (see section 3 "Literal
Values (Constants)"; emphasis mine):

> A string constant is formed by enclosing the string in single quotes
('). A single quote within the string can be encoded by putting two
single quotes in a row - as in Pascal. C-style escapes using the
backslash character are not supported because they are not standard SQL.

# Use of forked code

Part of the fix for this was [submitted as a PR to the node-sql-parser
library](https://github.com/taozhi8833998/node-sql-parser/pull/2496) we
now use, and merged. I then found that another fix was needed, which I
submitted as [a separate
PR](https://github.com/taozhi8833998/node-sql-parser/pull/2512). As
these fixes have yet to be made part of an official release of the
library, I made a fork off of the release we were using (5.3.10) and
bundled the necessary build artifacts with Fleet. We have an [ADR
proposing the use of submodules for this
purpose](https://github.com/fleetdm/fleet/pull/31079); I'm happy to
implement that instead if we approve that, although for a front-end
module with a build step it's a bit more complicated. Hopefully this
code will be released in `node-sql-parser` soon and we can revert back
to using the dependency.

Here is the [full set of
changes](https://github.com/taozhi8833998/node-sql-parser/compare/master...sgress454:node-sql-parser:5.3.10-plus).

# 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.
- [X] Manual QA for all new/changed functionality
2025-07-25 10:13:55 -05:00
RachelElysia
ef712b7ba6
Fleet UI: Add update details modal (#31250) 2025-07-25 09:28:25 -04:00
Gabriel Hernandez
8e4ec71717
update software library tab for personally enrolled mdm devices (#31219)
relates to #31058 

this updates the software library tab to show a message saying we do not
currently support software installs for personally enrolled mdm devices.

<img width="1107" height="288" alt="image"
src="https://github.com/user-attachments/assets/bbd3e62d-a2c9-4f17-81de-8f433cd5c40d"
/>

- [x] Manual QA for all new/changed functionality
2025-07-25 13:16:34 +01:00
jacobshandling
43ef110ca3
UI: InventoryVersions component (#31253)
## This is a foundational UI component shared between my current dev
work and @RachelElysia's. This PR is to share that component while we
are both developing on top of it.


Much of this logic exists in the current `SoftwareDetailsModal` (under
the hosts details page, not the identically named Activity feed
component - will be clarifying that naming in an upcoming PR). This PR
is the first step in a reorganization of much of these abstractions to
better suit the desired UX around software modals. Much more detail to
come shortly in actual feature work in upcoming PRs from both Rachel and
I.

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-24 16:02:34 -07:00
Ian Littman
71d54e1847
Populate version for macOS Chrome FMA on import, use Chrome Enterprise PKG instead of DMG, add tooltip on "latest" version when adding FMA (#30926)
Fixes #27919.

Here's how the `latest` version shows up in the UI:

<img width="513" height="288" alt="image"
src="https://github.com/user-attachments/assets/76842d1c-36f6-400c-8621-8d067ee410c6"
/>

<img width="785" height="318" alt="image"
src="https://github.com/user-attachments/assets/7077644e-7a0e-4fa4-87ce-56f54db41eb2"
/>

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [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] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Konstantin Sykulev <konst@sykulev.com>
2025-07-24 16:14:01 -05:00