Commit graph

260 commits

Author SHA1 Message Date
jacobshandling
5893b8186b
UI: Maintain header titles, remove "select all," "clear selection" options and selected item count from Select software table (#33301)
## For #33277 

<img width="1046" height="821" alt="Screenshot 2025-09-22 at 4 26 20 PM"
src="https://github.com/user-attachments/assets/d2e20d88-9795-42c3-91de-d3e7f98b2b6e"
/>


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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-09-23 09:55:18 -07:00
jacobshandling
32c60fe69d
UI: Linux setup experience - End user (#32639)
## PR 2/2 for #32037

- Implements update for the Linux setup experience from the end-user's
point of view (the "My device" page).
- Works in concert with the new endpoints implemented in
https://github.com/fleetdm/fleet/pull/32493
- My device page calls a new endpoint to get in-progress setup
experience software installations. If there are any, the page is
replaced with a "Setting up your device" page
- The UI polls this endpoint until all such installations are either
successful or failed (including canceled)
- Setting up your device page includes a table displaying the name and
status of each software installation
- Once all installations are finished (succeed/fail), renders the
regular My device page
- Add a handler for the new API call for relevant tests


![ezgif-6b54f32a7103ec](https://github.com/user-attachments/assets/cd94f92f-2daa-40a2-8fa1-643ed69a198c)

## Testing
Can use [this branch with fake
data](https://github.com/fleetdm/fleet/tree/32037-end-user-fake-data) to
help test this PR

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-09-05 15:53:01 -07:00
Ian Littman
0d29f2bfc0
Add custom software icons (#32652)
For #29478, sans GitOps.

---------

Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Konstantin Sykulev <konst@sykulev.com>
2025-09-05 17:31:03 -05:00
Gabriel Hernandez
6ed3e69c67
add user scope icon to os profiles (#32647)
resolves #31166

This adds a user icon and tooltip if the custom profile is user scoped

<img width="236" height="114" alt="image"
src="https://github.com/user-attachments/assets/be8e241d-6f70-40dc-808d-625245eb771f"
/>


- [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-09-05 14:53:39 +01:00
jacobshandling
e0ec8bd5b4
Small improvements: use a variable; clarify comment (#32590)
Self-explanatory

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-09-04 10:11:31 -07:00
RachelElysia
b71df4f223
FE: Cleanup lint warnings (#32086) 2025-08-21 16:21:45 -05: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
caf85f9eb2
Fleet UI: Move sort to url query params, still client side (#31714) 2025-08-08 12:13:48 -04:00
RachelElysia
6168370a66
Fleet UI: Better responsive breakpoints, truncate software name cell (#31627) 2025-08-06 15:32:52 -04:00
RachelElysia
63fe1c8eb5
Fleet Desktop: Show appropriate self-service actions and ability to update software (#31018) 2025-07-24 15:04:48 -04:00
RachelElysia
3d8b89bdf0
Fleet UI: Host software followup (#30205) 2025-06-23 11:09:20 -04:00
RachelElysia
3715545e67
Fleet UI: Revamp host > software page with inventory/library tabs (#29759) 2025-06-20 15:02:22 -04:00
RachelElysia
8df6ea1fd0
Fleet UI: Add policies table to the sw title details page (#28886) 2025-05-13 13:41:44 -04:00
RachelElysia
f64753f72b
Fleet UI: Fix unreleased VPP icon bug in self-service (#28926) 2025-05-07 14:51:07 -04:00
RachelElysia
57a2fb4341
Fleet UI: Add Self-service categories key and filtering (#28506) 2025-05-02 12:11:48 -04:00
RachelElysia
12a14ea2a9
Fleet UI: Surface policy count triggering automatic installations (#28726) 2025-05-02 11:01:26 -04:00
jacobshandling
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
Gabriel Hernandez
789b56000f
Add UI for enabling manual agent install of a bootstrap package (#28550)
For #[26070](https://github.com/fleetdm/fleet/issues/26070)

This adds the UI for enabling a manual agent install for a bootstrap
package. This includes:

**The new form option for enabling manual agent install of a bootstrap
package**


![image](https://github.com/user-attachments/assets/5d271136-e41b-4c03-bbd8-09450ded82dc)

**disabling adding install software and run script options when user has
enabled manual agent install**


![image](https://github.com/user-attachments/assets/24e3ce6e-8c8f-4987-91e6-8f3fa721d67b)


![image](https://github.com/user-attachments/assets/41be4090-b97f-4ffb-ad76-001232ccd434)


**improvements to the setup experience content styling. I've created a
`SetupExperienceContentContainer` component to centralise the styles for
the content of these sub sections.**

**updates to the preview sections copy and replacing the gifs with
videos**

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [ ] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
2025-04-29 15:29:21 +01:00
jacobshandling
85e826a094
UI: Add ability to run scripts on batches of hosts (#28563)
## For #28159 

- Implement UI capability to run scripts on batches of hosts at a time
  - Add new hosts table `Run script` primary action, triggers
- new `RunScriptBatch` modal, allows running scripts on the selected
batch of hosts
- new `RunScriptBatchPaginatedList`, handles logic specific to this
modal, and utilizes the now more flexible `PaginatedList` component
- Widen capabilities of `PaginatedList` component to elegantly handle
more diverse applications, including this one
- Widen capabilities of `ScriptDetailsModal` component to elegantly
handle more diverse applications, including this one
- Streamline updating `state`s on manage hosts page
- Clearer, more concise naming

- [x] Changes file added for user-visible changes in `changes/`
- [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-04-28 16:32:41 -07:00
RachelElysia
7f71866571
FE: Button renaming, better storybook view, remove unused code (#28245) 2025-04-16 09:56:09 -04:00
RachelElysia
00c3611712
Fleet UI: Table improvements (tooltips, tab-ability) (#27986) 2025-04-10 15:42:10 -04:00
RachelElysia
29034bb230
Fleet UI: Pagination follow-up (#27428) 2025-03-31 11:44:04 -04:00
RachelElysia
f7853ddbef
Fleet UI: Tweaks to improve styling on low widths (#27397) 2025-03-28 11:31:50 -04:00
RachelElysia
ea37ad6df3
Fleet UI: Surface Windows FMA (#27068) 2025-03-21 09:33:06 -04:00
Dante Catalfamo
e9f1d52f6a
Fix multi-row-select cell firing onClickRow twice (#27010)
#26564
2025-03-20 16:36:59 -04:00
RachelElysia
7f8073624a
FE: Refactor pagination to be a single component (#27224) 2025-03-20 12:40:43 -04:00
RachelElysia
aad8d858cc
Fleet UI: Never truncate host count on Dashboard > Software table (#26777) 2025-03-10 14:02:13 -04:00
RachelElysia
04104bdda1
My Device Page: Software link instead of view details hover link (#26885) 2025-03-05 15:54:12 -05:00
RachelElysia
f2ad368463
Fleet UI: Hide auto install tag if null (#26660) 2025-02-27 15:09:05 -05:00
RachelElysia
7b7fa2fcd1
Fleet UI: Component fixes (styling bugs and code cleanup) (#26149) 2025-02-26 13:47:28 -05:00
RachelElysia
df8e753e71
Fleet UI: Consistent table row clickability (#26022) 2025-02-04 14:05:22 -05:00
RachelElysia
9b70a2c819
Fleet UI: Surface download URL for Fleet-maintained app when adding (#25762) 2025-01-27 16:23:08 -05:00
RachelElysia
3060f452c2
Fleet UI: Fix user management page overflow (#25733) 2025-01-24 10:06:49 -05:00
RachelElysia
c4a556618f
Fleet UI: Updates to dropdown selected states (#25635) 2025-01-22 10:22:59 -05:00
Sarah Gillespie
69459efd1d
Remove arrow icon from MDM solution table (#25211) 2025-01-08 17:41:26 -06:00
jacobshandling
fea4dd791a
UI - Update targeted platforms display logic in the queries table (#25037)
### Unreleased bug where queries targeting all platforms display as
targeting no platforms in the Queries table.

The below query is set to target _all_ platforms.

**Bug:**
<img width="1248" alt="Screenshot 2024-12-29 at 8 24 50 PM"
src="https://github.com/user-attachments/assets/90c9a498-f7d8-4d86-88f1-061c985fb4fa"
/>

**Fix:**
Targeting all platforms, frequency set, displays platform icons:
<img width="1248" alt="Screenshot 2024-12-29 at 8 25 25 PM"
src="https://github.com/user-attachments/assets/d03c1bba-e5ea-461a-b506-1840cf4ffa8e"
/>

Targeting all paltforms but no frequency set (i.e., no schedule), no
targeted platforms displayed:
<img width="1248" alt="Screenshot 2024-12-29 at 8 25 38 PM"
src="https://github.com/user-attachments/assets/9b08a8c3-b682-4eb0-aeb4-59a6e0144e14"
/>

- [x] Manual QA for all new/changed functionality
- [x] Updated tests

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-12-30 13:06:59 -08:00
jacobshandling
32c42c301f
UI - Show software details My device page (#25022)
## #23315 

- On device user page > Software, make rows clickable and on click, open
the Software details modal to display information about the installation
on the host.
- Update Software details modal copy and allow long file paths to wrap


https://github.com/user-attachments/assets/1e714c5e-1614-46c0-bb56-d6dc8ad4f8ae

<img width="1350" alt="Screenshot 2024-12-26 at 10 27 44 AM"
src="https://github.com/user-attachments/assets/5cefc45a-b0ef-41d9-84e6-21ac17aaeffe"
/>
<img width="1350" alt="Screenshot 2024-12-26 at 10 27 19 AM"
src="https://github.com/user-attachments/assets/e0866961-31a4-4bd3-82e8-18f72cf4dc30"
/>
<img width="1350" alt="Screenshot 2024-12-26 at 10 27 37 AM"
src="https://github.com/user-attachments/assets/2bf6c880-664d-4315-8a40-8de61a5e4748"
/>


- [x] Changes file added for user-visible changes in `changes/`, 
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-12-26 14:51:28 -08:00
RachelElysia
a59b977850
Fleet UI: Keyboard accessibility for clickable rows, view report (#23625) 2024-12-18 10:12:27 -05:00
Gabriel Hernandez
0d459359a4
Feat UI create policies fleet app (#23842)
relates to #23136

This is the UI for the creating of policies when adding fleet maintained
software. This includes only the creating of the policy and there will
be another PR for viewing more information on the software titles
details page.


**new install type options. this determines if a policy should be
created or not.**

![image](https://github.com/user-attachments/assets/20538c66-bc1c-4903-aa70-83d24da97617)


there are also some new icons for the software titles.

- [] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Manual QA for all new/changed functionality
2024-11-20 11:41:40 +00:00
Jahziel Villasana-Espinoza
0bf331786e chore: dump sql schema 2024-10-25 18:01:19 -04:00
RachelElysia
2a756088f1
Fleet UI: Accessibility button actions, tabbing (#22916) 2024-10-25 11:02:52 -04:00
Gabriel Hernandez
2d7f9a342f
various quick updates to UI for setup experience feature (#23226) 2024-10-25 13:05:40 +01:00
Gabriel Hernandez
990206c782
Fix issues around selecting software to install (#23223)
relates to #23180

fixes up some issues with showing the correct number of selected
software to install and also with the table row selection behaviour.

We've had to create a couple new props on the `TableContainer`
component; one called `defaultSelectedRows` and the other
`persistSelectedRows`.


`defaultSelectedRows` will allow you to specify the default rows that
are selected in the table on the initial render. This is done with an
object with the key being the index of the row and the value being a
boolean.

```tsx
// the first and third rows will be selected in this case
<TableContainer
  defaultSelectedRows={{0: true, 2: true}}
  ...
/>
```

`persistSelectedRows` will allow the row selections to persist across
search query changes. This defaults to false.

---------

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
2024-10-25 11:27:44 +01:00
Gabriel Hernandez
d5689dd0fe Merge branch 'main' into feat-setup-experience 2024-10-21 12:36:50 +01:00
RachelElysia
97ef401bea
Fleet UI: Checkbox and accessibility styling, tab through select targets (#22943) 2024-10-17 10:01:23 -04:00
Gabriel Hernandez
3729b4b98d
Install software setup experience UI (#22651)
relates to #22373

This implements the UI for the install software setup experience in the
UI. This includes:

**updating the nav sidebar**


![image](https://github.com/user-attachments/assets/91928a23-13cc-430b-b207-ba226df32b86)

**creating a new install software card**


![image](https://github.com/user-attachments/assets/8b4a9495-4119-4360-9f31-53ac41b83316)

**select software modal for selecting which software to install**


![image](https://github.com/user-attachments/assets/a3b4b786-ab8e-42b2-8feb-4b2a83e69af9)**


- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Manual QA for all new/changed functionality
2024-10-09 16:09:38 +01:00
Gabriel Hernandez
314219a65a
Add UI for adding fleet maintained apps (#22204)
relates to #21775

> NOTE: there still needs to be integrated with the API when this work
is done.

Adds the UI for adding Fleet maintained applications. This includes:

**the view to see all the fleet maintained apps**


![image](https://github.com/user-attachments/assets/f49983d1-df6d-4721-b50d-a4fa78b2c85e)

**The fleet maintained app details Page:**


![image](https://github.com/user-attachments/assets/974c4a83-211e-45de-b0cc-2c5f6e055896)



<!-- 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.
- [ ] Added/updated tests
- [ ] Manual QA for all new/changed functionality
2024-09-20 15:47:01 +01:00
Jahziel Villasana-Espinoza
a00559e732
feat: enable multiple ABM and VPP tokens (#21693)
> Related issue: #9956 

# 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/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 tests
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
Co-authored-by: Roberto Dip <rroperzh@gmail.com>
Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
Co-authored-by: Roberto Dip <dip.jesusr@gmail.com>
2024-08-29 18:51:46 -04:00
jacobshandling
17979b07bc
UI – Update software table loading state (#20982)
## #20535 


~https://github.com/user-attachments/assets/4c39bd5d-3d75-46f0-9f39-05ec36dac0d0~

### Improved solution:

**Flow**:

![Screenshot-2024-08-19-at-114948A](https://github.com/user-attachments/assets/03de39c1-1436-49bd-a077-d73b248dcdfe)

**Just loading state:**
<img width="1617" alt="Screenshot 2024-08-19 at 11 50 18 AM"
src="https://github.com/user-attachments/assets/df429956-0699-4e73-a017-4022013ccce4">

****

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-08-21 13:12:42 -07:00