Commit graph

181 commits

Author SHA1 Message Date
jacobshandling
ea9b5ba776
UI – 11/26 Disk encryption spec updates (#24175)
## #24173 

<img width="1390" alt="Screenshot 2024-11-26 at 11 08 25 AM"
src="https://github.com/user-attachments/assets/3afc7031-2bac-4cc9-ac8d-e47390a0ef93">
<img width="1392" alt="Screenshot 2024-11-26 at 10 45 11 AM"
src="https://github.com/user-attachments/assets/2eccc992-e0bd-4c5c-b001-75cde60317b5">

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-11-26 11:29:50 -08:00
jacobshandling
096d67dd5a
Linux disk encryption: frontend changes, backend missing private key errors, remove disk encryption endpoints dependence on MDM being enabled (#23714)
## Addresses #22702,  #23713, #23756, #23746, #23747, and #23876
_-Note that much of this code as is will render as expected only once
integrated with the backend or if manipulated manually for testing
purposes_

**Frontend**:
- Update banners on my device page, tests
- Build new logic for calling endpoint to trigger linux key escrow on
clicking `Create key`
- Add `CreateLinuxKeyModal` to inform user of next steps after clicking
`Create key`
- Update banners on host details page, tests
- Update the Controls > OS settings section with new logic related to
linux disk encryption
- Expect and include counts of Linux hosts in aggregate disk encryption
stats UI
- Add "Linux" column to the disk encryption table
- Show disk encryption related UI for supported Linux platforms
- TODO: confirm platform string matching functionality in manual e2e
testing
- Expand capabilities of `SectionHeader` component, apply to new UI
- Flash "missing private key" error, with clickable link, when trying to
update disk encryption enabled while no server private key is present.
- TODO: QA this once other endpoints on Controls > Disk encryption are
enabled even when MDM not turned on
- Update Disk encryption key modal copy


-Other TODO:
  - Confirm when integrated with API:
    - Aggregate disk encryption counts
    - Disk encryption table Linux column
    - Show disk encryption key action on host details page when expected
    - Opens Disk encryption key modal, displays key as expected
  
**Backend**:
- For "No team" and teams, error when trying to update disk encryption
enabled while no server private key is present.
- Remove requirement of mdm being enabled for use of various endpoints
related to Linux disk encryption
- Update tests


_________
**Host details and my device page banners**

![banners](https://github.com/user-attachments/assets/b76fbfbd-0969-40eb-b8b1-9fd0d4fd0f4f)

**Create key modal**
<img width="1799" alt="create-key-modal"
src="https://github.com/user-attachments/assets/81a55ccb-b6b9-4eb6-b2ff-a463c60724c0">

**Enabling disk encryption**

![turning-on-enforcement](https://github.com/user-attachments/assets/005010b9-2238-46f8-9579-f07823898a78)

**Disk encryption: Fleet free**
<img width="1912" alt="free"
src="https://github.com/user-attachments/assets/9f9cace3-8955-47c2-87d9-24ff9387ac1a">

**Custom settings: turn on MDM**
<img width="1912" alt="turn on mdm"
src="https://github.com/user-attachments/assets/4d3ad47b-4035-4d93-86f0-dc2691b38bb4">

**Device status indicators**

![host-status-indicators](https://github.com/user-attachments/assets/5fc72c1e-816b-45b3-a650-5c1fcc48f09e)

**Encryption key action and modal**

![de-key-action-and-modal](https://github.com/user-attachments/assets/632f7b2c-c07e-4e30-87ef-e6437ae42a78)



- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
  - [ ] Full e2e testing to do when integrated with backend

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2024-11-20 11:58:47 -08:00
gillespi314
28e4cf6cf7 Merge branch 'main' into feat-include-any-label 2024-11-14 08:33:03 -06:00
Sarah Gillespie
16d0d8d58f
Fix unreleased bugs with labels_include_any feature (#23734) 2024-11-14 08:30:32 -06:00
RachelElysia
518a3115cd
Followup: Fix run script from script details bug, clean code (#23601) 2024-11-08 09:22:49 -05:00
Ian Littman
c797fb73c2
Delete pending script executions when the underlying script is edited or deleted (#23520)
#21888 

# 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/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-11-06 18:15:52 -06:00
RachelElysia
576dcff1a7
Fleet UI: Add script content modal to UI in various places (#23461) 2024-11-06 12:48:11 -05:00
Jahziel Villasana-Espinoza
aed3c3f775 chore: merge in main 2024-11-06 10:13:47 -05:00
Gabriel Hernandez
ccbdf46119
add UI to add the include any option for custom profile custom label target (#23390)
relates to #22575

Add the UI for allowing custom profiles to be uploaded to hosts that
have any of specified labels. I also spent some time cleaning up the
custom settings card and its components. I was able to remove a lot of
unused styles.


![image](https://github.com/user-attachments/assets/167a575c-4520-496b-8f73-ed390e079e44)


<!-- 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`.
- [ ] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-10-31 15:10:49 +00:00
Noah Talerman
93b51f3ff3
Controls > Setup experience > Setup assistant: add space (#23384)
For the following bug:
- #23383
2024-10-31 09:28:55 -04:00
Gabriel Hernandez
f73cb371bc
fix not showing install software when there was software titles (#23352)
relates to #23321

fix that shows the add install software UI when there is software to
install.
2024-10-29 18:52:09 +00:00
Gabriel Hernandez
489035ef2b
Various setup exp UI fixes (#23328)
relates to #23321, #23322, #23323

This contains three UI fixes:

1. fix when we show the empty state for install software. We were
expecting an empty array but the response from `GET
/setup_experience/software` sends null when no software has been added


![image](https://github.com/user-attachments/assets/0300fffa-5586-4073-a6df-491e844516c9)

2. fix to add responsive style to install software and run script panels
that matches the other setup experience panels.


![image](https://github.com/user-attachments/assets/5494146f-583d-4816-9c1b-6227bb520108)


![image](https://github.com/user-attachments/assets/a2e3c43d-64bf-4695-9870-029482080172)

3. Fix and clean up the copy of the first three setup experience panels
to match the new ones. Also, update the alt text on the images to be
more descriptive.

- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-10-29 14:29:05 +00:00
Jahziel Villasana-Espinoza
0bf331786e chore: dump sql schema 2024-10-25 18:01:19 -04:00
jacobshandling
a97e6efb79
Enable full-row clickability on the disk encryption table (#23220)
## #23219 

https://www.loom.com/share/d59be837e3f842288c2d259745ad49dc


- [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-10-25 09:16:04 -07:00
jacobshandling
f3755986c1
Explicitly set "Add profile" message line heights (#23216)
## #23215 

- Explicitly set "Add profile" message line heights so they are
consistent cross-browser

<img width="1624" alt="Screenshot 2024-10-24 at 3 34 45 PM"
src="https://github.com/user-attachments/assets/ac793e32-729f-423a-b672-ed60412eb92d">
<img width="1624" alt="Screenshot 2024-10-24 at 3 34 53 PM"
src="https://github.com/user-attachments/assets/5d8c8947-34ad-49c0-87d6-ea10b0ebd980">


- [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-10-25 09:15:43 -07:00
Gabriel Hernandez
ef45cedfca cleanup warnings 2024-10-25 13:34:19 +01:00
Gabriel Hernandez
8af926a78c
Fix UI download set script (#23227)
quick fix to allow downloading setup script
2024-10-25 13:33:40 +01: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
d5e11a212b
Fix UI build (#23129)
quick fix to fix the ui build failing
2024-10-23 17:30:54 +01:00
Gabriel Hernandez
68cdcde4eb
fix to PUT /setup_experience/software and GET /setup_experience/software endpoints (#23074)
This PR fixes two issues:

1. `PUT /setup_experience/software` will now take the correct json body
of `software_title_ids` to update the software to install during setup
experience

2. include the `install_during_setup` attribute on the software titles
software package results from `GET /setup_experience` endpoint
2024-10-23 15:57:02 +01:00
Gabriel Hernandez
d5689dd0fe Merge branch 'main' into feat-setup-experience 2024-10-21 12:36:50 +01:00
Gabriel Hernandez
dae2977d12
better messaging for setup experience when mdm is turned off (#23008)
relates to #18508

add better messaging when apple mdm is disabled don't he setup
experience tab. This feature is currently only macos only so we have
better messaging for users about this.

<img width="841" alt="image"
src="https://github.com/user-attachments/assets/9e2c9cec-b272-4acd-8058-6d04eab055d8">

- [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-21 12:28:44 +01:00
RachelElysia
b08b488a6b
Fleet UI: Consistent behavior for radio buttons, add tests to components (#22901) 2024-10-16 11:37:38 -04:00
Gabriel Hernandez
e8c0deb4aa
Fix loading/error states for profile status aggregate summary UI (#22894)
relates to #21345

fix the loading state for the profile status aggregate component.

**loading state:**


![image](https://github.com/user-attachments/assets/e1b2d912-7872-4a1d-8dcc-76f132f07fd5)

**error state:**


![image](https://github.com/user-attachments/assets/a6e9ad00-6552-4c27-b6d1-ead19487c6cb)

<!-- 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`
2024-10-16 13:50:34 +01:00
RachelElysia
a2e7010ee2
Fleet UI: Add SCEP integration to MDM settings (#22275) 2024-10-15 09:23:59 -04:00
Gabriel Hernandez
d953350621
UI tests for setup experience (#22861)
set of tests for some important UI flows of the setup experience install
software and scripts.
2024-10-14 13:01:56 +01:00
Gabriel Hernandez
3468adf408
Feat UI api integration setup experieince (#22856)
relates to #22817

API integration and some polish for the UI of the setup experience
feature.
2024-10-11 15:10:27 +01:00
Gabriel Hernandez
d03468314e
add UI for uploading setup experience script (#22691)
relates to #22374

> NOTE: we still need integration with the API which will be done in
another PR.

>NOTE: Please review https://github.com/fleetdm/fleet/pull/22651 first,
as this PR is based off of that branch.

This adds the UI for uploading a setup experience script. this includes:

**setup experience script uploader:**


![image](https://github.com/user-attachments/assets/bec00594-9519-48a9-bce5-d90d282ad5fb)

**script card:**


![image](https://github.com/user-attachments/assets/35549f1c-c280-4293-8e4e-e36e2a3df16c)

**delete script modal:**


![image](https://github.com/user-attachments/assets/90be6bd3-6807-4adb-8709-2ec5893f7fad)

**script run preview:**


![image](https://github.com/user-attachments/assets/cb874986-e0eb-4e6e-bab3-b8325394894c)



<!-- 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`.
- [ ] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-10-10 13:19:32 +01: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
jacobshandling
ce9bb71832
UI – Add policy automation modal for running scripts (#22436)
## #22118 

- Add policy automation option to Run script
- Build corresponding modal and handlers
- Update types and service entities
- Misc. cleanup and optimizations
- update policies page dropdown text for 'No team' to read "Detect
device health issues for hosts that are not on a team." (#22444, not
included in GIF)
- Make empty states here and for install software automations modal[
link to their respective resolution
URLs](https://github.com/fleetdm/fleet/pull/22436#discussion_r1779077205)


![ezgif-6-5b9641a684](https://github.com/user-attachments/assets/2422b499-e675-4148-be0c-f0ad7126de8e)


- [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>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2024-10-03 18:06:20 -07:00
RachelElysia
e88efc9691
Fix prettier bug failing CI (#22506) 2024-09-30 07:45:46 -07:00
Rachael Shaw
2acf368cc9
Small grammar fix in "Delete script" modal (#22488)
it's ("it is") ➡️  its (possessive)

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2024-09-27 17:42:47 -05:00
Gabriel Hernandez
f5a75877f3
update the help text of macOS min version input (#22337)
relates to #21976

This updates the help text for the macOS min version input.


![image](https://github.com/user-attachments/assets/ef20ad99-7592-41bc-959e-a90129c47f66)
2024-09-24 15:47:55 +01:00
Noah Talerman
fc8b1d67f5
Remove placeholder text (#22274)
---------

Co-authored-by: RachelElysia <rachel@fleetdm.com>
2024-09-20 13:00:01 -07:00
Gabriel Hernandez
36ea5ccd76
Update tooltip for mac minimum target OS version label (#22157)
Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Roberto Dip <dip.jesusr@gmail.com>
2024-09-18 15:53:30 -05:00
Jahziel Villasana-Espinoza
385da248cb
feat: validate profile with apple (#21862)
> Related issue: #17558

# 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] Manual QA for all new/changed functionality
2024-09-10 18:44:58 -04:00
Noah Talerman
e1114d9356
Update copy in Delete script modal (#21907)
Script runs aren't canceled: #21889
2024-09-10 17:04:10 -04:00
jacobshandling
09b6402f76
UI – Policy software install automations (#21792)
## Front end for #19551

Feature branch merge to `main` – all work as been previously approved in
individual PRs to the feature branch.

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-09-03 15:35:33 -07: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
Gabriel Hernandez
9200f18229
display the custom labels by in case-insensitive alphabetical ascending order (#21041)
relates to #20194

The UI displayed the custom labels by creation date, but we now display
custom labels in the UI by name in case-insensitive alphabetical
ascending order.


![image](https://github.com/user-attachments/assets/43ce642b-8335-4542-ac38-4b5a4ab569e4)

<!-- 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] Manual QA for all new/changed functionality
2024-08-06 10:52:23 +01:00
jacobshandling
3230a9aa54
UI – Only modify nav padding at low viewport width (#21005)
## Follow-up for #20395

Wider:
![Screenshot 2024-08-02 at 10 54
32 AM](https://github.com/user-attachments/assets/d9f66377-02e6-48be-bf3a-3cac94200379)

Narrower:
![Screenshot 2024-08-02 at 10 54
49 AM](https://github.com/user-attachments/assets/9ce7e525-2571-4f15-b29e-6da0f5fdce07)

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/` -
covered by previous PR
- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-08-02 12:44:38 -07:00
jacobshandling
33fa8f2fe9
UI – adjust disk encryption table style (#20981)
## #20395 

<img width="778" alt="Screenshot 2024-08-01 at 7 15 00 PM"
src="https://github.com/user-attachments/assets/26fc82c0-d3e9-4e0d-b27d-82be63711fa9">

- [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-02 08:24:10 -07:00
RachelElysia
e2fcb44d76
Fleet UI: multiple unreleased and released bugs (#20951) 2024-08-01 15:53:43 -04:00
RachelElysia
d5b928d5e5
Fleet UI: No team view for software pages (#20641) 2024-07-30 13:20:13 -04:00
RachelElysia
275a09e361
Fleet UI: Add iOS/iPadOS OS updates version requirements UI (#20591) 2024-07-29 15:41:13 -04:00
Sarah Gillespie
cab1f30361
Update tooltip for pending profiles (#20512) 2024-07-17 09:54:29 -05:00
jacobshandling
686d6292d8
Disable final Next when no more results; cleanup (#20517)
---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Reed Haynes <reed@fleetdm.com>
2024-07-16 14:28:35 -05:00
RachelElysia
bccb80d914
Fleet UI: Add copy for ios/macos to DDM profiles/OS vulns, add OS icons on Software OS tab and OS details page (#20423) 2024-07-15 11:55:04 -04:00
George Karr
fc075f2cfb
Update helpers.tsx (#20429)
#20426
2024-07-12 17:01:03 -05:00