Commit graph

121 commits

Author SHA1 Message Date
RachelElysia
f8e09ad4f3
Fleet UI: Disabled forms cannot be accessed via keyboard (#23727) 2024-11-13 15:38:28 -05:00
Gabriel Hernandez
e91b9a296c
Fix Edge svg icon (#23012)
relates to #22954

this changes the svg icon for edge so that it removed the jank and cut
off portions


- [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-18 18:19:45 +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
e51830f5a1
fix brave software and install icons (#22815)
relates to #22756

fix to improve the brave software icon the the install icon. We use the
SVG source from figma and don't run through our optimiser. Im thinking
this may be making some of the icons jank.
2024-10-10 16:03:51 +01:00
Lucas Manuel Rodriguez
4cdfba8162
Readd .rpm to dialog (#22654)
Probably removed during FMA refactoring.
2024-10-04 10:40:47 -03:00
Roberto Dip
ad99cbd499
FMA: missing pieces (#22593)
# 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. -->

- [ ] 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.
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [ ] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2024-10-03 14:49:27 -03:00
Gabriel Hernandez
463afc970f
new 1 password software icon (#22568)
change the 1 password svg icon to remove the jank
2024-10-03 12:29:15 +01:00
Sarah Gillespie
3727474043
Update add software UI to move software package modal into new tabbed layout (#22553)
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2024-10-02 10:43:20 -05:00
Gabriel Hernandez
d8fda9f085 Merge branch 'main' into feat-fleet-app-library 2024-10-02 10:01:25 +01:00
Lucas Manuel Rodriguez
f8f24e0a80
Add support to upload RPM packages (#22502)
#22473

- [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
- For Orbit and Fleet Desktop changes:
- [x] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.

---------

Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2024-10-01 13:02:13 -03:00
Gabriel Hernandez
aa887d3d5f
add 1password softare icon (#22534)
add 1password software icon. In the future we'll need more time to fix
the jank at smaller sized

**icon at small size**

![image](https://github.com/user-attachments/assets/92217433-3cb9-4776-8405-d899a7120d4c)
2024-10-01 16:36:13 +01:00
Gabriel Hernandez
35b4f20396 Merge branch 'main' into feat-fleet-app-library 2024-09-30 12:35:06 +01:00
Gabriel Hernandez
21c91a2c14
Chore UI fleet maintained api integration (#22467)
relates to #22456

integrate the new fleet maintained API with the UI
2024-09-30 12:34:43 +01:00
RachelElysia
b219cfcabc
Fleet UI: Fleet free does not see empty severity column (#22408) 2024-09-27 07:41:06 -07:00
Luke Heath
31633148ed
Fixed self-service checkbox appearing when iOS or iPadOS app is selected. (#22287) 2024-09-23 15:14:34 -05:00
Gabriel Hernandez
0359290662
implement add Vpp software UI to new add software pages (#22264)
relates to #21811

This adds the UI for the new add vpp software flow. This moves the add
app store vpp flow under the App Store (Vpp) Tab panel. This includes:

**add vpp software form**


![image](https://github.com/user-attachments/assets/0b8cea88-baea-4da7-88f7-6c392a8af4a6)

**has now vpp token setup UI**


![image](https://github.com/user-attachments/assets/40142599-f5d9-4602-a731-786b69a6b8b9)


**has no vpp apps UI**


![image](https://github.com/user-attachments/assets/5aa29772-037c-456a-894b-cf99f5f35cb4)


<!-- 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-09-20 16:15:10 +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
Gabriel Hernandez
3df837e1df Merge branch 'main' into feat-fleet-app-library 2024-09-20 13:37:51 +01:00
Gabriel Hernandez
9a1b3769c8
show correct chrome software icon for chrome packages (#22233)
relates to #20865

Show the correct software icon for uploaded chrome packages


![image](https://github.com/user-attachments/assets/85215a31-0b63-438b-a4dc-661cea026c3b)

- [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-09-19 11:50:18 +01:00
Gabriel Hernandez
ba5a9ec99e Merge branch 'main' into feat-fleet-app-library 2024-09-18 16:10:12 +01:00
jacobshandling
f135d5b732
UI – 2 small unreleased bug fixes for software install policy automations UI (#22181)
## 2 small fixes for issues found in QA

- Capitalize word in tooltip
- Correctly render error message, with correctly colored icon

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-09-17 17:04:12 -04:00
Gabriel Hernandez
7f02749c0d Merge branch 'main' into feat-fleet-app-library 2024-09-17 15:01:48 +01:00
RachelElysia
1c1ebef4ef
20404: Edit packages feature (#21812)
## Issue
Cerra #20404

## Description
- Add frontend/API backend for editing software packages. GitOps will be
a separate PR.

## More
- Please see subtasks for change lists
  - #21611 
  - #21613

# 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] Manual QA for all new/changed functionality

Automated tests will follow in another PR.

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Victor Lyuboslavsky <victor.lyuboslavsky@gmail.com>
2024-09-17 08:40:47 -05:00
Gabriel Hernandez
dec951f9f6 Merge branch 'main' into feat-fleet-app-library 2024-09-13 13:54:10 +01:00
jacobshandling
d9f7935fce
UI – Uninstall features for host details, install/uninstall actions, activity feed, misc other items (#21933)
## #21566 - Host details updates for Uninstall packages

details > software page. Full tasks outlined in the issue, [Figma
here](https://www.figma.com/design/ToQaK2yUJwDyzagTdrbOfX/%2320320-Uninstall-packages?node-id=5364-13173&m=dev)

**Updated install status tooltips:**

![install-status-tooltips](https://github.com/user-attachments/assets/9869c7d6-f953-4adc-9692-52f5dad9d81a)

**Uninstall action:**

![uninstall-action](https://github.com/user-attachments/assets/189d5755-556c-48ca-8824-08db14ec95d4)

**Update install details:**
![Screenshot 2024-09-09 at 1 12
58 PM](https://github.com/user-attachments/assets/f52b349b-9f01-49d4-b952-6efd60f29979)


## #21931 - updated specs for install/uninstall states

## #21568 - activity feed items for Uninstall
![Screenshot 2024-09-09 at 5 00
07 PM](https://github.com/user-attachments/assets/eb61949a-9f8d-4b9e-a437-2d31a6808f07)
![Screenshot 2024-09-09 at 5 42
52 PM](https://github.com/user-attachments/assets/a8c2de0e-27e3-4d2b-bf69-702ea7b72e48)
![Screenshot 2024-09-09 at 5 43
03 PM](https://github.com/user-attachments/assets/b6127ed3-6fcf-439e-aa3d-91038a025d92)

## #21567 - Uninstall details modal
![Screenshot 2024-09-10 at 7 42
18 PM](https://github.com/user-attachments/assets/a42e4e4a-eadd-4e75-84c5-c5f6a6230950)
_remaining TODO_:
  - [x] manually QA 'failed' states
- [x] determine where to source timestamp from for uninstall activities

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Victor Lyuboslavsky <victor@fleetdm.com>
2024-09-12 11:51:59 -04:00
Gabriel Hernandez
2b5631f891
change add software modal to seperate pages in Fleet UI (#21881) 2024-09-11 10:47:35 +01:00
Jacob Shandling
78c534b44f Merge branch 'victor/20320-backend' into 20320-ui-uninstall-packages 2024-09-06 10:41:23 -07:00
jacobshandling
1095e513b9
UI - update software title details statuses to reflect possible "uninstalling" states (#21858)
## #21565 
![Screenshot 2024-09-05 at 11 57
25 AM](https://github.com/user-attachments/assets/64e3ba67-482b-4e76-9e2f-ebce348bd104)
![Screenshot 2024-09-05 at 11 57
22 AM](https://github.com/user-attachments/assets/97c7ded5-a04d-4aac-bede-a7d65f8614b2)

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-09-06 09:16:10 -07:00
jacobshandling
0cfbdc6f58
UI – Implement changes for package uninstall scripts in the add software modal (#21828)
## Addresses #21564 – see issue for task list
![Screenshot 2024-09-04 at 5 45
12 PM](https://github.com/user-attachments/assets/546401dd-b56e-4c39-baba-456dc844ee0f)
![Screenshot 2024-09-04 at 5 42
57 PM](https://github.com/user-attachments/assets/810ca450-0ddd-4258-96a5-bddb300ae19d)
![Screenshot 2024-09-04 at 5 45
02 PM](https://github.com/user-attachments/assets/32a19ce6-52c3-4772-ba53-00e50145bc85)
![Screenshot 2024-09-04 at 5 43
23 PM](https://github.com/user-attachments/assets/925843fb-6290-489b-a639-de1cbfba83fa)

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-09-05 11:11:14 -07:00
RachelElysia
a4fb3f45a1
Unreleased bug: Clear all pre-selected vuln filters when vulnerable filter is toggled off (#21821) 2024-09-04 16:15:34 -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
Roberto Dip
a8a739ab29
update copy for VPP team modal (#21766)
unreleased spec change.

# 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] Manual QA for all new/changed functionality
2024-09-03 14:32:40 -03:00
Jahziel Villasana-Espinoza
70a106ccb0
fix: update copy in VPP/ABM UI (#21730)
> Related issue: #21723

# 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] Manual QA for all new/changed functionality
2024-09-02 11:39:11 +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
RachelElysia
3cabefc1f1
[19857 bug fix] Fleet UI: Update empty state of OS to show info line (#21647) 2024-08-29 09:24:37 -04:00
Gabriel Hernandez
0c28236482
Fix UI self service icons on the my device page (#21593)
relates to #21496

Fix a rendering bug on the self service section of the my device page
where the icon was rendering too large

**Before**


![image](https://github.com/user-attachments/assets/450c242e-9096-4a67-9003-6ef1675c9618)

**After**


![image](https://github.com/user-attachments/assets/9b6ccda1-17d8-4ad8-acc0-2a9438a306d9)

- [x] Manual QA for all new/changed functionality
2024-08-27 16:48:42 +01:00
RachelElysia
9e49a44517
Fleet UI: Exact match vulnerabilities search when wrapped in quotes (#21375) 2024-08-27 09:14:38 -04:00
RachelElysia
cfafb92c2d
[unreleased bug] Fleet UI: Hide exploit/severity vuln filters for fleet free (#21511) 2024-08-23 12:02:21 -04:00
RachelElysia
544fd4131d
Fleet UI: Filter software by vulnerabilities follow-up (#21420) 2024-08-21 09:43:27 -04:00
Gabriel Hernandez
e1e425a2ab
add UI to support self service VPP software (#21174) (#21415)
relates to #19883

implements UI to support self service VPP apps. 

**Self service checkbox in add software modal**



![image](https://github.com/user-attachments/assets/bb6f3b3b-61aa-4a78-a223-e73ad2c2c5b9)

The rest of the changes are the same as the original self service
feature.

- [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-20 15:51:36 +01:00
RachelElysia
3dd1219a27
Fleet UI: Filter software/version tables by vulnerability score and exploitability (#21278)
## Issue
Story #19099 
Subtask #20706 

## Description
- Additions to Software > Software tab to filter software and versions
by vulnerable, known exploit, and CVSS score
- Includes a new "Add filters" button which has dynamic tooltip and
button text
- New responsive design to the table header controls
- New modal to customize vulnerability filters
- Handles edge case where user types in a custom CVSS score in URL

## TODO list
- [x] Design, confirm and build empty states
- [x] search bar is showing on empty state, fix this
- [x] Disabled state color for dropdown placeholder text
- [x] Add tests to the modal
- [ ] Test with API when API is ready (good flow to check, choose from
dropdown, then toggle versions on)

## Screen recording
TODO

# 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] Added/updated tests
- [ ] Manual QA for all new/changed functionality
2024-08-20 09:41:49 -04:00
RachelElysia
ae4df76e4d
Fleet UI: Improve CVE search responses (#21286) 2024-08-14 11:41:56 -04:00
jacobshandling
50ba783a25
UI – Update empty Software versions table when installable software present (#21118)
## Addresses 1a of #21053 
<img width="1498" alt="Screenshot 2024-08-06 at 7 56 38 PM"
src="https://github.com/user-attachments/assets/d2e97e07-acd7-4f0b-a609-b8b9546a742d">

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-08-07 09:26:39 -07:00
jacobshandling
232947b634
UI – Restore search/filter to empty SW versions table; empty state update for SW title details w/o versions (#21098)
## Parts 1b and 2 for #21053 

1b: 
<img width="1502" alt="Screenshot 2024-08-06 at 12 14 30 PM"
src="https://github.com/user-attachments/assets/19dc67ca-adde-49ff-a884-b9ebaa15b1d7">


2: <img width="1502" alt="Screenshot 2024-08-06 at 12 13 28 PM"
src="https://github.com/user-attachments/assets/951bdf0b-adfc-41a1-b668-2d0b53addbe4">


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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-08-06 15:29:15 -07:00
RachelElysia
97883a9d87
Fleet UI: Fleet Free shows premium message when clicking to add software (#21065) 2024-08-06 10:30:00 -04:00
jacobshandling
4b2c8a6f02
UI: Coordinate sibling refetches via parent state (#20973)
## #20965 


https://www.loom.com/share/52ff44615e2e41a99c129acd3d2427bf?sid=f90ead66-9730-4538-95db-a70bf971b5a8

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-08-02 08:12:43 -07:00
jacobshandling
2ccc0f79e7
UI – Follow-ups for iPadOS/iPadOS VPP (#20916)
## Follow ups to #20467, part 4 of #20917
- Use combination of apps' fields to uniquely identify them – [bug and
fix
demo/explanation](https://www.loom.com/share/2e5f088677604f04927bce8d9dacf8fe?sid=d946bea5-11a9-419a-b946-962829a53adc)
- Add new field to vpp `POST` requests for correct add VPP software
functionality

![Screenshot-2024-07-31-at-50131PM](https://github.com/user-attachments/assets/57c925f9-53cb-4860-b6b6-475b6d5cb2a5)

- Implement desired states for software action dropdown

![Screenshot-2024-07-31-at-45556PM](https://github.com/user-attachments/assets/b6d3db97-dea2-43bb-9662-29256e87fbf0)


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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-08-01 09:17:57 -07:00
jacobshandling
3ae0544c43
UI – iPad/iOS VPP follow-ups (#20850) 2024-07-30 13:50:15 -07:00
jacobshandling
19a64941ba
UI – Add VPP features for iPadOS and iOS (#20755)
## Addresses #20467 – part 2

### Aggregate software:

#### Software titles
<img width="1616" alt="sw-titles-updated"
src="https://github.com/user-attachments/assets/0b9922c7-e36e-4d2f-b204-95c3cdf9b602">

#### Software versions
<img width="1616" alt="Screenshot 2024-07-29 at 6 14 21 PM"
src="https://github.com/user-attachments/assets/5a097700-cd6c-45b1-a21f-9d76a733f0ae">

#### Host software
<img width="1616" alt="Screenshot 2024-07-29 at 6 23 01 PM"
src="https://github.com/user-attachments/assets/84e18695-f47a-4022-bd53-7f5d37ce452a">


### Add software modal (VPP) _screenshots use mocked data - UI is
flexible enough to display cleanly before and after backend is in
place:_
<img width="1339" alt="happy"
src="https://github.com/user-attachments/assets/8900aa93-316c-4a09-8e5a-1a1e45b0c458">

#### No apps:
<img width="1572" alt="Screenshot 2024-07-29 at 6 35 03 PM"
src="https://github.com/user-attachments/assets/466b9b6c-4d3d-49dd-94a9-94e395d89cb7">

#### Not enabled:
<img width="1572" alt="Screenshot 2024-07-29 at 6 37 45 PM"
src="https://github.com/user-attachments/assets/9bcfd480-8741-4d95-ba3b-550dee4dc673">

#### Error:
<img width="1572" alt="Screenshot 2024-07-29 at 6 39 39 PM"
src="https://github.com/user-attachments/assets/e944dd40-676e-4aba-9cd9-49ff319bf402">

### Vuln support – Not supported for now:
_see above screenshots for `list` endpoints_

#### Software title detail
<img width="1616" alt="Screenshot 2024-07-29 at 6 47 29 PM"
src="https://github.com/user-attachments/assets/2e30fd0a-21e4-4d19-bf9b-71a994bfd0e7">

#### Software version and OS detail:
<img width="1616" alt="Screenshot 2024-07-29 at 6 48 28 PM"
src="https://github.com/user-attachments/assets/e8fec769-ba97-4b6b-b10c-9bb4c973c732">
<img width="1616" alt="Screenshot 2024-07-29 at 6 50 25 PM"
src="https://github.com/user-attachments/assets/0ac15727-e0cb-447c-8758-c58b79656d1a">


- [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-07-30 10:14:25 -07:00
Sarah Gillespie
53ba476516
Fix unreleased bug: API error message for duplicate VPP apps (#20808) 2024-07-29 15:46:27 -05:00