Commit graph

3674 commits

Author SHA1 Message Date
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