Commit graph

104 commits

Author SHA1 Message Date
RachelElysia
efeb90910d
Fleet UI: installed sw in inventory do not show failures (#38458) 2026-02-02 12:19:55 -05:00
RachelElysia
38e27970af
Fleet UI: Microsoft.CompanyPortal > Company Portal (#38958) 2026-01-29 20:59:27 -05:00
Scott Gress
3907243881
Rename auto-update keys (#38100)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #33391

## Testing

- [X] Added/updated automated tests
there's a number of tests for this, if they still pass we're in good
shape
- [X] QA'd all new/changed functionality manually
I tested the front-end successfully, and saw an auto-update go through
on an ipad. Also verified that the activity metadata is correct.
2026-01-12 11:08:26 -06:00
Zach Wasserman
fac84e5e9b
Use empty values in software last_opened_at when not supported (#38007)
**Related issue:** Resolves #33512 

# 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
2026-01-08 11:36:06 -08:00
Scott Gress
04685db892
Auto software update frontend (#37677)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35459

# 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
working on these
- [X] QA'd all new/changed functionality manually

## Screenshots

| Option does not appear for FMA apps |
| --- |
| <img width="723" height="419" alt="image"
src="https://github.com/user-attachments/assets/f9f1328e-e38c-452c-b06e-337a69c13e71"
/> |

| Option does not appear for custom packages |
| --- |
| <img width="731" height="416" alt="image"
src="https://github.com/user-attachments/assets/3de78f15-d7ce-45c7-875f-a250fc00a160"
/> |

| Option does not appear for macOS VPP apps |
| --- |
| <img width="725" height="454" alt="image"
src="https://github.com/user-attachments/assets/07dcb074-f57d-4cc4-a746-20b80c821fb6"
/> |

| Option appears iOS VPP apps |
| --- |
| <img width="727" height="420" alt="image"
src="https://github.com/user-attachments/assets/ec4ce503-0300-437c-b3f2-248928fcfe7b"
/> |

| Option appears iPadOS VPP apps |
| --- |
| <img width="727" height="422" alt="image"
src="https://github.com/user-attachments/assets/0030c6cc-3d93-480c-af93-740fca4d5b57"
/> |

| Form with auto-updates disabled |
| --- |
| <img width="668" height="517" alt="image"
src="https://github.com/user-attachments/assets/d59a7ba4-dc83-4a80-ba94-0befc7635f05"
/> |

| Start / end time validation |
| --- |
| <img width="668" height="679" alt="image"
src="https://github.com/user-attachments/assets/939fd09a-76f6-42de-9c71-fe4982f3f84b"
/> |

| Maintenance window length validation |
| --- |
| <img width="664" height="681" alt="image"
src="https://github.com/user-attachments/assets/a2eab676-5166-42a9-9043-2565014e33cb"
/> |

| Badge and banner appears after saving |
| --- |
| <img width="766" height="529" alt="image"
src="https://github.com/user-attachments/assets/48d89e1d-4430-4dd7-b8e6-d5b04ebad47f"
/> |

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
Co-authored-by: Nico <32375741+nulmete@users.noreply.github.com>
2026-01-05 10:43:26 -06:00
RachelElysia
778133ddb0
FMA: Fix aircall category typo and add string check for category in generator (#37815) 2026-01-02 17:03:10 -05:00
Allen Houchins
0703dc5e35
Add 2 new app categories: 🔐 Security and 🛠️ Utilities (#37098)
This pull request adds support for two new software categories,
"Security" and "Utilities", across the application. The changes ensure
these categories are available in the database, frontend type
definitions, UI elements, documentation, and are fully tested in both
migration and integration test suites.

**Database and Migration Updates:**
* Added "Security" and "Utilities" entries to the `software_categories`
table and updated initial data in `schema.sql`.
* Introduced a new migration
(`20251210000000_AddSecurityAndUtilitiesCategories.go`) to insert/remove
these categories, with an accompanying test to verify migration
behavior.
[[1]](diffhunk://#diff-57da59e73fff8f2ffccd167299027899614281c591b79715b7000bed0e9d8516R1-R31)
[[2]](diffhunk://#diff-5e6db34b45e83ec5cf2b9cb41e4bfd4ee934f456dd9c0ae4313a448d39319c72R1-R28)

**Frontend and Documentation Updates:**
* Updated the `SoftwareCategory` type and category lists to include
"Security" and "Utilities", ensuring they appear in the UI and are
selectable.
[[1]](diffhunk://#diff-4297079e443d574eb530c70ef48de3cab80e56f783c7b395d58c31c29be6bb0eL77-R79)
[[2]](diffhunk://#diff-405dcd4f0bd6881e4b20a75212467d13c143ddc486b5c9d29ed9035033c32361R25-R26)
* Added documentation for the new categories in `yaml-files.md`.

**Testing Enhancements:**
* Added and updated tests to verify the new categories are displayed and
handled correctly in both frontend and backend integration tests.
[[1]](diffhunk://#diff-d151ee297fdaf54f8ea7027bc46de12247c43406b464265f24ade5a49cb19e49R210-R211)
[[2]](diffhunk://#diff-bbd0c5a6bc2f9a24e633031d4c6a3f5b0be7cbfe78ef1b56cdf9a7a2c32e21e2R19358-R19365)
[[3]](diffhunk://#diff-2bd8ca2ddaad7aac0c438a2afd76a26872378249f757c9c81a31005d0e57cf1fR18447-R18460)
2025-12-18 13:26:50 -06:00
Sarah Gillespie
589f5e67cb
Update UI for command results in host activity feed (#37417) 2025-12-18 11:52:25 -06:00
RachelElysia
d8a3af4e88
Fleet UI: Ability to update android configuration + FE cleanups (#37065) 2025-12-15 09:26:33 -05:00
RachelElysia
0dd7b6ce87
Fleet UI: Add, view, install Google Play Apps (#35177) 2025-11-14 13:24:41 -05: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
RachelElysia
2e42bbbc84
Fleet UI: 4.77 unreleased bug fixes (#35505) 2025-11-11 10:37:18 -05:00
RachelElysia
3efeeb1ad0
Fleet UI: Ability to edit software display names (#34872) 2025-11-07 09:59:30 -05:00
RachelElysia
e1b325130a
Fleet UI: IPA custom packages (#34220) 2025-10-28 12:44:17 -04:00
Tim Lee
c5d7c9f626
31970 NPM vuln support (#33100) 2025-10-24 12:54:57 -06:00
jacobshandling
d9cedcba8d
Consolidate rolling linux version possibilities (#34467)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34214

- [x] manual QA by @sgress454
2025-10-17 14:01:03 -07:00
RachelElysia
17245ab0ac
Fleet UI: Payload-free software installs (#33979) 2025-10-15 09:41:43 -04:00
Tim Lee
2b18caaee1
Add Jetbrains plugins (#34024) 2025-10-14 09:01:45 -06:00
Zach Wasserman
41c53860e3
Add support for VSCode fork extensions in software inventory (#33595)
**Related issue:** Resolves #31397

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-10-07 14:05:22 -07:00
RachelElysia
ad73c5ce01
Fleet UI: Show Android software inventory (#33809)
## Issue
Closes #33580
Part of Story #33060 

## Description
- Anything related to adding "android_apps" into the FE code
- Add to frontend interfaces `interfaces/platform.ts` for platforms that
do not support vuln scanning
- Add `application_id` key and `source: "android_apps"` value to
`ISoftware`
- Add source type conversion `android_apps: "Application (Android)"` for
rendering type in UI
  - Add to `INSTALLABLE_SOURCE_PLATFORM_CONVERSION`
- Show unsupported vuln empty state in software details page for
`source: "android_apps"`
  - Add android icon to software icons
- Use android icon as default fallback for `source: "android_apps"`
software
- Show android host details page > software library tab, but with
unsupported empty state correct showing android link instead of hiding
tab all together
- Show android host details page > software inventory tab > vuln filter
on, vuln not supported empty state

## Testing

- [x] QA'd all new/changed functionality manually
-
> FE code was manually QAed with hard coded data but will require BE
changes to be merged to E2E QA
2025-10-07 14:08:25 -04:00
Scott Gress
12ab93d9e0
Update "Setting up your device" page for MacOS Setup Experience (#33770)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33173

# Details

This PR updates the "Setting up your device" page which appears in Linux
and Windows (and as of https://github.com/fleetdm/fleet/issues/30117,
MacOS) setup experiences. Front-end updates:

* Lots of renaming of things that were software-specific to now more
generically refer to "setup step"
* Removed the "My Device" heading
* Moved the info button inside the table header
* Added status of setup script run to the table
* Updated the empty state to not refer specifically to software
* Added optional `setup_only` query param to the `/device` page which,
if set, will always show the "setting up your device" page even if all
setup is complete. Normally as soon as setup finishes, the front-end
redirects to the regular My Device page. In the case of MacOS setup
experience, we don't want this to happen as we expect to either 1) keep
the setup experience up indefinitely if we're blocking device setup on
software install failure, or 2) close the setup dialog on successful
completion. This query param is also handy for testing.
* Added new "Configuration complete" state to be shown when all setup
steps are finished (successfully or not). This is only applicable on
MacOS, since other platforms will redirect to the My Device page when
finished.

This PR also includes one small backend change to the
`/device/{token}/setup_experience/status` API endpoint, to have it
return a `scripts` array alongside the existing `software` array. This
endpoint is not documented publicly.

# 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
Updated existing DeviceUserPage tests that check the SettingUpYourDevice
content, and added new tests for the new scripts content and the new
query param.

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

<img width="1028" height="867" alt="Screenshot 2025-10-02 at 7 20 28 PM"
src="https://github.com/user-attachments/assets/7adab2c2-dac1-4463-96fc-13094da2c379"
/>

(note that as of now we'd only have at most one script, showing multiple
here to demonstrate the different states)

<img width="1031" height="524" alt="Screenshot 2025-10-02 at 7 22 01 PM"
src="https://github.com/user-attachments/assets/bedaa840-d7ef-4b6f-8daf-6ac3b447594f"
/>

<img width="1222" height="760" alt="image"
src="https://github.com/user-attachments/assets/42cf82d5-53e0-4c4d-b60e-9ac2cc86af68"
/>

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-10-06 16:45:53 +01:00
Dante Catalfamo
834ab62ed0
Use new pacman table to ingest software from arch linux (#33238)
#32862
2025-09-23 10:28:32 -04: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
RachelElysia
b05f5ece6e
Fleet UI: Add self-service opening instructions to apps and programs (#32169) 2025-08-26 11:02:30 -04:00
RachelElysia
59f628783c
Fleet UI: Show temporary "Updated" status while waiting for software inventory update (#31702)
## Issue
Closes #31629 

## Description 
- Added temporary "Updated" status requires a new UI status and to check
refetch time stamps against `last_install` WITH updates available to
ensure showing "Updated" instead of "Updates available'
- wrote tests
- Added temporary "Installed" status requires a new UI status and to
check refetch time stamps against `last_install` to ensure "installed"
vs. "whatever other status would show"
- wrote tests
- Added temporary "---" status requires a new UI status and to check
refetch time stamps against `last_uninstall` to ensure "---" vs.
"whatever other status would show"
- wrote tests
- Added tooltips to all 3 temporary statuses to ensure users know it's a
temporary status "Fleet successfully [installed/uninstalled/updated]
software and is fetching latest software inventory."

## Screenrecording of mini feature
It works!
https://fleetdm.zoom.us/clips/share/6EPbQs2_R4mqWaqbNpd1iQ
All 3 temporary statuses (watch in 2x)
https://fleetdm.zoom.us/clips/share/iRSdgb5HQ6uEJv3wkhmXtA

# Checklist for submitter

## Testing

- [x] Added/updated automated tests

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

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-08-07 16:35:41 -05:00
jacobshandling
edf7bec845
UI: Make consistent and update the Install and Uninstall detail modals for VPP and non-VPP apps across the Fleet UI (#31420)
# #30860 

## Summary
* **New Features**
* Introduced dedicated modals for viewing install and uninstall details
for both VPP and non-VPP software, providing clearer and more consistent
information.
* Added support for displaying detailed install information for VPP host
software and improved handling of install status actions.
* Added an Inventory Versions modal to display detailed version history
for installed software on a host.

* **Improvements**
* Standardized and improved the design and behavior of install/uninstall
detail modals across the app.
* Refined callbacks and state management for launching modals from host
and self-service software tables.

* **Bug Fixes**
* Addressed issues with property naming and callback signatures in
install status handling.
* Addressed inconsistencies in displaying software details and status
across different components.

* **Refactor**
* Streamlined component props, callback signatures, and data models for
improved maintainability.
* Updated test cases and interfaces to align with the new modal and
callback structure.
* Removed legacy software details modal and related code, streamlining
the user interface.

* **Style**
* Updated modal and table styles for improved readability and
consistency.


## *Important note: Host software library modals for VPP apps currently
show only installed versions due to [an API bug that is being
addressed](https://github.com/fleetdm/fleet/issues/31459)


## Install details modal in various locations and states :

### Activity feeds (global, host details), non-VPP:

![ezgif-7af8221d19cd91](https://github.com/user-attachments/assets/bb90dcb6-6d99-455b-8e70-0cd905dd7b2d)

### Device user page self-service, non-VPP (with Retry functionality):

![ezgif-7d1b107f56dc16](https://github.com/user-attachments/assets/e4b91bf6-01bf-423e-9542-3ae4d2d17422)

### Host software library, non-VPP:

![ezgif-76c029bd028544](https://github.com/user-attachments/assets/931b6076-87d5-4e77-92ab-86fad323d396)

### Activity feeds (global, host details), VPP apps:

![ezgif-75eb0ebecb1893](https://github.com/user-attachments/assets/084eca68-4cf7-423a-8cb9-b14ea6d4c2d3)

### Device user page self-service, VPP apps (with Retry functionality):

![ezgif-728e4e8c2a595e](https://github.com/user-attachments/assets/969d1d49-b014-49a2-9c64-3c0dd88b05cc)

### Uninstall modal samples - TODO

- [x] Changes file added for user-visible changes in `changes/`

## Testing

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: RachelElysia <rachel@fleetdm.com>
2025-08-01 12:45:09 -07: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
8fc1468d37
Fleet UI: Host details > Software > Library statuses clickable, add software button (#30318) 2025-06-30 13:26:01 -04:00
RachelElysia
3d8b89bdf0
Fleet UI: Host software followup (#30205) 2025-06-23 11:09:20 -04:00
RachelElysia
e16785f517
Fleet UI uninstall self service followup (#29407) 2025-06-06 15:40:52 -04:00
RachelElysia
b3ee06c5c4
Fleet UI: Unreleased handle undefined signature_information (#29550) 2025-05-29 07:24:25 -04:00
RachelElysia
6336309972
Fleet UI: Suface SHA256 in software details modal (#29408) 2025-05-23 09:09:06 -04:00
RachelElysia
b710d7cab3
Fleet UI: Reroute to software details page on add of FMA, VPP, custom pkg (#29336) 2025-05-21 11:31:39 -04:00
RachelElysia
4dc5f30dc1
Fleet UI: Surface copyable SHA256 hash on software details page (#29152) 2025-05-15 12:20: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
7a66e37ec4
Fleet UI: Add FMA gitops to FMA details and update activity feed (#27878) 2025-05-08 09:22:55 -04:00
RachelElysia
5ec2deba9c
Fleet UI: Fix unreleased app store app timestamp broken (#28934) 2025-05-08 09:16:51 -04:00
RachelElysia
57a2fb4341
Fleet UI: Add Self-service categories key and filtering (#28506) 2025-05-02 12:11:48 -04:00
RachelElysia
c68de7c953
Fleet UI: Upload and install tarball archives (#27839) 2025-05-02 10:17:09 -04:00
RachelElysia
ea37ad6df3
Fleet UI: Surface Windows FMA (#27068) 2025-03-21 09:33:06 -04:00
RachelElysia
e98a93e8bc
Fleet UI: Auto-install VPP apps (#26455) 2025-02-24 16:01:55 -05:00
RachelElysia
fadd20c7ed
Fleet UI: Unreleased darwin rendering instead of macOS (#26139) 2025-02-06 11:47:09 -05:00
RachelElysia
28d458b948
Fleet UI: Add target labels for VPP apps (#25815) 2025-02-03 17:10: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
43628439d8
Fleet UI: VPP auto install software on failed policies, filter software compatible to policy's target platform, etc (#25202) 2025-01-13 16:45:16 -08:00
Gabriel Hernandez
69cef7c20b
Chore UI more fixes scoped software label (#25118)
relates to #25067, #25061

includes two fixes for the scoped software via labels feature:

1. update the delete label modal copy
2. don't show the confirm changes modal if only the self service value
has changed.

- [x] Manual QA for all new/changed functionality
2025-01-03 17:36:42 +00:00
RachelElysia
5319156399
Fleet UI: Add automatic install to custom packages upload (#24729) 2024-12-27 14:19:31 -05:00
Gabriel Hernandez
e6efcf7238
finish UI api integration for editing a custom package (#24929)
relates to #24828

Finish up the UI integration for the API to edit a custom package

- [x] Manual QA for all new/changed functionality
2024-12-19 15:31:36 -06:00
Gabriel Hernandez
3681b8f7ac
Activities UI and api integation/tests for the scoped software via labels feature (#24888)
relates to #24828, #24792

This updates the UI activities software including a new software details
show details modal:

<img width="825" alt="image"
src="https://github.com/user-attachments/assets/3dd3019b-c94c-427b-9c52-d678a311c4bc"
/>

It also includes tests and api integration work for the creating and
reading of scoped software via labels.

> NOTE: still need to do the editing which we can do in another PR when
the API is ready.

- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-12-19 11:09:38 -06:00