Commit Graph
371 Commits
Author SHA1 Message Date
RachelElysia 4039459905 FE: Cleanup lint warnings Part IV (#44486) 2026-05-05 08:58:21 -04:00
RachelElysia 0448ac1f95 Fleet UI: Fix dataset text alignment (#44659) 2026-05-05 08:50:18 -04:00
RachelElysia 5ba261d5c6 Fleet UI: New empty states (#43896) 2026-04-27 17:54:34 -05:00
RachelElysia 68e1585fd9 FE: Clean up lint warnings part III (#44065) 2026-04-24 17:00:36 -04:00
Luke Heath 255be3fd80 Additional design revisions to dark mode theme (#43634) 2026-04-23 10:13:21 -05:00
Magnus Jensen fd0488a5f6 Update input action buttons app wide (#43906)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41147 

See comment for images of all changes:
https://github.com/fleetdm/fleet/issues/41147#issuecomment-4291447286

# 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), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

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


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

* **Style**
* Standardized and restyled action buttons (copy, show/hide secret,
etc.) across the app for consistent appearance, sizing, hover states and
keyboard focus outlines.
* Improved input and textarea layouts so action buttons align neatly,
copy/confirmation messages display correctly, and spacing adapts when
actions are present.

* **Documentation**
* Added a changelog entry documenting the action-button styling and
layout updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-21 17:54:05 -06:00
RachelElysiaandRachel Perkins 08bb520b0c Fleet UI: Scrollable dropdown, ensure z-index (#43515)
## Issue
Closes #42655

## Description
- Will need cherry-pick into 4.84.0 RC
- Whackamole issue that popped up when changing the overflow
- Ensured DOM/z-index has no issues + dropdown options are scrollable

## Testing

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

ub.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))


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

## Summary by CodeRabbit

## Release Notes

* **Bug Fixes**
* Improved dropdown menu usability by enabling scrollable lists with
consistent height constraints, preventing menus from extending
excessively.

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

Co-authored-by: Rachel Perkins <rachel@Rachels-MacBook-Pro.local>
2026-04-14 10:36:33 -05:00
RachelElysia a3b7e29e26 FE: Lint cleanups part II (#43491) 2026-04-14 09:43:52 -04:00
c9e66b221e Frontend: Lint warning cleanup part 1 (#43411)
## Issue
- First batch of @iansltx 's work of cleaning up lint warnings #43387 

## Description
- Quick PR review and grabbed as many confirmed low-risk quick wins as I
could `git checkout lint-cleanup <file/path/1> <file/path/2>`

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

## Release Notes

This release contains internal code improvements with one minor UI
tweak:

* **Style**
* Dropdown menu background color adjusted for clearer contrast in action
lists
* **Refactor**
* Improved type safety across the codebase with stricter TypeScript
annotations
  * Removed unused imports and constants to reduce code clutter
* Enhanced React hook dependency arrays for more consistent component
behavior
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Rachel Perkins <rachel@Rachels-MacBook-Pro.local>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-04-10 19:49:52 -05:00
RachelElysia 49b1b6194f Fleet UI: Dark mode tweaks 1 (#43422) 2026-04-10 16:12:46 -04:00
Luke Heath 8ed339f012 Apply global dark mode styling to UI (#43033) 2026-04-10 09:30:04 -05:00
Ian Littman 2891904f31 🤖 Switch InputField + InputFieldWithIcon JSX components to TS, add more test coverage, fix Storybook build (#43307)
Zed + Opus 4.6; prompt: Convert the InputField JSX component to
TypeScript and remove the ts-ignore directives that we no longer need
after doing so.

- [x] Changes file added
- [x] Automated tests updated
2026-04-09 08:41:48 -05:00
RachelElysia fe5e537b22 Fleet UI: *New* policy details page + updates to the edit policy and edit report pages (#43102) 2026-04-09 09:16:54 -04:00
RachelElysia 25641b78d4 Fleet UI: Update <code> purple to be grey (#43231) 2026-04-08 16:14:51 -04:00
RachelElysia b4835077f2 Fleet UI: Fix opening dropdowns not rendering at a higher index and pushing UI (#42672) 2026-03-31 10:19:36 -04:00
RachelElysia 3c300e92b8 Fleet UI: Add max height to dropdowns that can be infinitely long (#42317) 2026-03-24 14:41:26 -04:00
2abacc577e Feat/31914 patch policy (#41518)
Implements patch policies #31914 

- https://github.com/fleetdm/fleet/pull/40816
- https://github.com/fleetdm/fleet/pull/41248
- https://github.com/fleetdm/fleet/pull/41276
- https://github.com/fleetdm/fleet/pull/40948
- https://github.com/fleetdm/fleet/pull/40837
- https://github.com/fleetdm/fleet/pull/40956
- https://github.com/fleetdm/fleet/pull/41168
- https://github.com/fleetdm/fleet/pull/41171
- https://github.com/fleetdm/fleet/pull/40691
- https://github.com/fleetdm/fleet/pull/41524
- https://github.com/fleetdm/fleet/pull/41674

---------

Co-authored-by: Jonathan Katz <44128041+jkatz01@users.noreply.github.com>
Co-authored-by: jkatz01 <yehonatankatz@gmail.com>
Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Jahziel Villasana-Espinoza <jahziel@fleetdm.com>
2026-03-13 16:47:09 -04:00
RachelElysia a2345bb75e Fleet UI: Allow 'textarea' onBlur, clean to never race (#40744)
## Issue
Closes #34167 

## Followup
- Add missing onBlur to text area inputs app wide
- Update onBlur function to not race with onChange

## Screenshot of fix


https://github.com/user-attachments/assets/9abfbef9-af0d-4247-a18e-e2ea1b4abd4d



## Testing

- [x] QA'd all new/changed functionality manually
2026-02-27 19:51:56 -06:00
RachelElysia baf7f82aed Fleet UI: Fix dropdown rendering (#40418) 2026-02-26 11:42:00 -05:00
ac4ec2ff27 FMA version rollback (#40038)
- **Gitops specify FMA rollback version (#39582)**
- **Fleet UI: Show versions options for FMA installers (#39583)**
- **rollback: DB and core implementation (#39650)**

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

# 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

---------

Co-authored-by: Jonathan Katz <44128041+jkatz01@users.noreply.github.com>
Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Carlo DiCelico <carlo@fleetdm.com>
2026-02-24 14:00:32 -05:00
Scott Gress 93c75cf1b2 Fix software group dropdown w/ fleet_id (#40079)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #40077 

# Details

Fixes an unreleased bug where rewriting the location with `fleet_id` in
the string would not properly set the current team in the useTeamParam
hook. This is because we haven't fully switched over to `fleet_id`
internally yet, so we still need to check for `team_id` until we do.

Also updated a few lingering instances of "team" in the user-facing
text.

# 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, unreleased bug

## Testing

- [ ] Added/updated automated tests
no tests to speak of
- [X] QA'd all new/changed functionality manually
On main branch, was able to reproduce the issue where selecting an
option from the "All software" dropdown on the Software page caused the
selected fleet to be reset. On this branch, the selected fleet was
maintained after making a selection.

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

- [X] Confirmed that the fix is not expected to adversely impact load
test results
2026-02-18 17:53:00 -06:00
Scott Gress cd18ced3e9 Rename teams and queries to fleets and reports in UI (#39572) 2026-02-17 15:19:33 -06:00
jacobshandling beca67550b Move copy UI for InputFields with type="textarea" in line with the label (#39885)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35561 

<img width="647" height="655" alt="Screenshot 2026-02-13 at 4 24 57 PM"
src="https://github.com/user-attachments/assets/b191f8bb-e6b7-4f3d-8819-eccf23a408f8"
/>

- Spot checked all relevant instances of `InputField` (`type="textarea"
and `enableCopy`)


- [x] Changes file added for user-visible changes in `changes/`
-  [x] QA'd all new/changed functionality manually
2026-02-16 12:11:40 -08:00
RachelElysia 300b379ff4 Fleet UI: Styling updates to Packs flow (legacy feature) (#38856) 2026-01-29 09:24:28 -05:00
RachelElysia ae73f90327 Fleet UI: Update Button to match latest style guide (#38221) 2026-01-14 10:54:09 -05:00
0603346065 Add tests for new "auto update" front-end (#37877)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #35459 

# Details

This PR adds front-end tests for:

* `<SoftwareSummaryCard>`
* Smoke-test of basic functionality (showing the software title and
type, showing an icon)
  * Action dropdown options for various kinds of software
*  `<EditAutoUpdateConfigModal>`
* Options for auto-updates (enable button, maintenance window
validation)
   * Targets ("All hosts" and "Custom" values and validation)
* Form submission (ensuring the API receives the expected payload for
various permutations of the form)

The `<TargetLabelSelector>` component has its own tests so we don't go
through it thoroughly here, just integration tests with the new
component. Conversely the `<SoftwareDetailsSummary>` component _doesn't_
have its own tests, and could use some, but in this instance we're just
concerned with how it integrates with the software summary card (that
is, how the passed-in software title affects the Actions dropdown).

## Testing

- [X] Added/updated automated tests

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
Co-authored-by: Nico <32375741+nulmete@users.noreply.github.com>
2026-01-06 09:32:36 -06:00
jacobshandling ca2fc6030f Create, list, delete Android certificates from the UI (#37314)
**Related issue:** Resolves #36689 

<img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 08
02 PM"
src="https://github.com/user-attachments/assets/4f491c80-403f-4188-8cab-552e997c6e9c"
/>
<img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09
18 PM"
src="https://github.com/user-attachments/assets/b6e4d9ad-40c1-45c3-8b77-e14d17a2bc7e"
/>
<img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09
22 PM"
src="https://github.com/user-attachments/assets/661beee2-3ee2-4269-ab0b-ca070c1a40b8"
/>




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

- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added comprehensive Android certificate management in OS Settings with
create, list, and delete operations
* Integrated certificate management with premium tier gating and MDM
enablement checks
  * Supports team-scoped certificates with pagination controls
* Includes validation for certificate names and certificate authority
selection

* **Refactor**
* Generalized heading component to support multiple entity types beyond
configuration profiles

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-16 15:39:07 -08:00
RachelElysia 29067be439 Fleet UI: Make preview end user experience look like end user experience (#37349) 2025-12-16 16:44:34 -05:00
Gabriel Hernandez c8ae78eac3 fix dropdown wrapper value wrapping down to new line (#36495)
**Related issue:** Resolves #33987

quick fix to fix truncation for the value section on dropdown wrapper
component
2025-12-02 12:08:45 +00:00
Gabriel HernandezandMagnus Jensen 37985e3df6 feat activity audit fancy search activities (#35825)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #29727

**new filters:**

<img width="720" height="931" alt="image"
src="https://github.com/user-attachments/assets/bba33904-24ae-4c12-b2ed-49152588e636"
/>

**new type filter**

<img width="411" height="433" alt="image"
src="https://github.com/user-attachments/assets/14b060df-f01b-48ce-8dff-ca01e5fad6d6"
/>

> NOTE: i will be doing a follow up PR for keyboard navigation

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

---------

Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2025-12-01 16:48:43 +00:00
RachelElysia 9b7f7ce8f1 Fleet UI: unreleased more display_name instances, click tooltip, display_name from right nesting... (#35668) 2025-11-13 12:06:14 -05:00
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
RachelElysia f12bedece7 Fleet UI: Fix table selection styling (#35295) 2025-11-06 15:31:14 -05:00
RachelElysia efc64389b1 Fleet UI [Feature]: UI reskin (#33558) 2025-09-29 12:10:41 -05:00
jacobshandlingandJacob Shandling 06c48216f7 UI: Add Tooltip show delay across app (#33091)
## For #31869

- Add fine grain controls for tooltip show and hide delay behavior
- Default to 250ms show delay across app
- Update ~30 unit tests to expect new delay
- See
[note](https://github.com/fleetdm/fleet/issues/31869#issuecomment-3300660487)


https://github.com/user-attachments/assets/5969e0f7-c137-491f-8430-6f21d01b9350

- [x] Changes file added for user-visible changes in `changes/`
- [x] QA'd all new/changed functionality manually

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-09-18 09:42:30 -07:00
RachelElysia b58a4d6d45 Fleet UI: Fix OS vs. Software icon bug (#31911) 2025-08-14 13:18:24 -04:00
RachelElysia b485aeca5b Fleet UI: Add custom CVSS scores input fields (#31456) 2025-08-05 16:29:55 -04:00
RachelElysia 8fc1468d37 Fleet UI: Host details > Software > Library statuses clickable, add software button (#30318) 2025-06-30 13:26:01 -04:00
Gabriel Hernandez a5c69a60a4 Fix bug for not being to reenable end user migration in UI (#30106)
Fixes #30063

This fixes an issue added in the
[PR](https://github.com/fleetdm/fleet/pull/29968) where the user was not
able to reenable the end user migration form.

I've also added improved a11y attributes to the slider component,
ensured we are functionally disabling the form controls during gitops
mode and not just visually, and updated/added tests for the
EndUserMigrationSection component.


- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-06-20 17:04:30 +01:00
jacobshandling 69cd060b9a UI: Consistent password field styling (#29984) 2025-06-13 11:37:26 -04:00
RachelElysia c574c4db25 Fleet UI: Consistent font size across input fields and dropdowns (#29865) 2025-06-10 15:04:18 -04:00
RachelElysia 7fe5dcd045 Fleet UI components; Editor copy button added, File details/uploader gitopsCompatible can now be false (#29307) 2025-05-21 13:32:18 -04:00
RachelElysia 175f110f86 Fleet UI: Created consistent UI for the copy button of an input field (#29056) 2025-05-13 10:24:32 -04:00
RachelElysia 57a2fb4341 Fleet UI: Add Self-service categories key and filtering (#28506) 2025-05-02 12:11:48 -04:00
jacobshandlingandJacob Shandling 9ab0eb2acd UI: Update conditional access on a per-policy basis (#28658)
## For #28049 , #28610

- **Implement front end ability to enable or disable conditional access
on a per-policy basis**
- **Update policy status UI to include new "action required" state,
representing a failed policy on a host with conditional access enabled**
- Additional improvements

<img width="1624" alt="Screenshot 2025-04-29 at 1 32 33 PM"
src="https://github.com/user-attachments/assets/960b3348-b0e2-48b8-bcff-28f91f64fd01"
/>

<img width="1624" alt="Screenshot 2025-04-29 at 12 15 39 PM"
src="https://github.com/user-attachments/assets/b0e0cf1f-a693-4e0b-b18a-a44ee258975f"
/>

<img width="1624" alt="Screenshot 2025-04-29 at 12 15 49 PM"
src="https://github.com/user-attachments/assets/15f7bea1-7338-4997-93bf-8baeb308e3f0"
/>

<img width="1400" alt="updated policies table headers"
src="https://github.com/user-attachments/assets/164fd84a-a9ee-4dfe-8d73-b4e82e27edbc"
/>

- [x] Changes file added for user-visible changes in `changes/`
- [ ] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-01 11:43:38 -07:00
RachelElysia 0f2b5aa536 FE: Buttons clean up Part 2 (#28346) 2025-04-23 14:42:30 -04:00
RachelElysia 3cf9202e39 Fleet UI: Added hover cursors to checkbox and radio components (#28113) 2025-04-16 13:29:08 -04:00
RachelElysia 45015b01e8 Fleet UI: Update hover and focus states for dropdowns and inputfields (#26506) 2025-02-28 08:46:00 -05:00
Scott Gress 973fe46c5e Add pagination to manage automations (#26414)
For #23243 

# Checklist for submitter

<!-- 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/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [ ] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

## Details

This PR updates the policy Manage Automations modals to support
pagination. Previously, these modals received a list of policies from
the main Manage Policies page, which is itself paginated, so that a user
could only add automations to whatever policies were currently listed on
the Manage Automations page. This PR does some refactoring via the
creation of a new PaginatedList component which:

* accepts a `fetchPage` property it can call to get a page of data, 
* renders the data in a list with checkboxes and optional custom markup
(e.g. dropdowns)
* keeps track of changed ("dirty") items in the list, even across page
changes
* allows parent components to access the list of dirty items via a React
`ref`

For this specific use case, there's also a new `PoliciesPaginatedList`
which implements the `fetchPage` for getting a page of policies, and
adds Save and Cancel buttons. Each of the updated modals uses
`PoliciesPaginatedList` to replace its current code for rendering
policies in a list, and delegates much of the logic around change
tracking to the new components.
2025-02-27 12:43:38 -06:00
RachelElysia 7b7fa2fcd1 Fleet UI: Component fixes (styling bugs and code cleanup) (#26149) 2025-02-26 13:47:28 -05:00