Commit graph

3740 commits

Author SHA1 Message Date
Gabriel Hernandez
eb7b07bc46
update manage host table to not include serial number cell for personally devices enrolled in mdm (#31448)
quick change to host table to show "Not supported" for the serial number
cell for persaonl devices enrolled in mdm.

I've pulled out the check if a host is a personal device enrolled in mdm
and have used this where needed.
2025-07-31 18:07:38 +01:00
Noah Talerman
e767146ae3
My device page: Change copy under "Updates" (#31449)
For the following unreleased bug:
- #31414
2025-07-31 12:29:38 -04:00
Noah Talerman
940ca5fd15
UI copy tweak: New label page (#31425)
- IdP labels are macOS only but Fleet isn't clear about this. Address
the confusion from Fleeties and customers/users:
  - https://github.com/fleetdm/fleet/issues/31285
  - https://fleetdm.slack.com/archives/C02A8BRABB5/p1753886293561879
2025-07-31 12:25:13 -04:00
Gabriel Hernandez
24e7934646
dont show os updates page for users who are not global admin or the team admin (#31410)
fixes #25367 

this doesnt show the os updates page for users who are not global admins
or the current team admin. we also redirect users to the os settings
page if they try to navigate to the os updates page and dont have
permission

- [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-07-31 12:04:06 +01:00
Dhruv Trivedi
5b68247c14
Activity feed: Surface team_id and team_name in policy and query activities (#28394)
fix #27689
# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (added in the
comment)
- [x] Manual QA for all new/changed functionality

output ss
![Screenshot 2025-04-20
100928](https://github.com/user-attachments/assets/b62c1370-18e6-4d0f-a8ab-3a3d2d2084c7)
![Screenshot 2025-04-20
101101](https://github.com/user-attachments/assets/4f052242-d4c0-4027-afef-37f8d29991fc)

Noticed that editing a global policy doesn't generate an edited_policy
activity log in my local environment, while it does in others.
Investigated the gap and shared findings in the issue thread for further
clarification(in https://github.com/fleetdm/fleet/issues/27689)

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-07-29 17:57:21 -05:00
RachelElysia
cd82898b79
Fleet UI: Refetch polling reset timeout reset after every new poll (4.72 Unreleased bug fix) (#31328) 2025-07-29 13:36:24 -04:00
jacobshandling
ee5cadfe71
UI: Fix inclusion condition for 'Other workflows' policy automation (#31358)
## #31333

- Include the "Other workflows" Policy automation option for all team
scenarios _except_ No team in regular (non-Primo) mode
- Manually confirmed this option is present in the intended situations
- Manually confirmed that Primo mode still does contain this option

![ezgif-3c63270745ec61](https://github.com/user-attachments/assets/3f2e8f6f-1b4a-4d88-9147-d013e7efcd7f)

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

For unreleased bug fixes in a release candidate, one of:
- [x] Confirmed that the fix is not expected to adversely impact load
test results

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-28 13:54:16 -07:00
RachelElysia
80b4c34a52
Fleet UI: Remove unintended broken sort on type column (#31264) 2025-07-28 09:08:34 -04:00
jacobshandling
22147a5b46
FE: Add optional label to InventoryVersions (#31302) 2025-07-28 09:07:21 -04:00
jacobshandling
5d728f4229
Misc. FE code cleanup (#31257)
All unused

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-25 16:12:23 -07:00
Scott Gress
02c5026436
Allow ESCAPE in LIKE clauses to be valid SQL (#31222)
for #30109

# Details

This PR fixes an issue in our current SQL parsing library that was
causing queries like this to be marked invalid:

```
SELECT * FROM table_name WHERE column_name LIKE '\_%' ESCAPE '\'
```

This is valid in SQLite because the `\` is not considered an escape
character by default. From [the SQLite
docs](https://www.sqlite.org/lang_expr.html) (see section 3 "Literal
Values (Constants)"; emphasis mine):

> A string constant is formed by enclosing the string in single quotes
('). A single quote within the string can be encoded by putting two
single quotes in a row - as in Pascal. C-style escapes using the
backslash character are not supported because they are not standard SQL.

# Use of forked code

Part of the fix for this was [submitted as a PR to the node-sql-parser
library](https://github.com/taozhi8833998/node-sql-parser/pull/2496) we
now use, and merged. I then found that another fix was needed, which I
submitted as [a separate
PR](https://github.com/taozhi8833998/node-sql-parser/pull/2512). As
these fixes have yet to be made part of an official release of the
library, I made a fork off of the release we were using (5.3.10) and
bundled the necessary build artifacts with Fleet. We have an [ADR
proposing the use of submodules for this
purpose](https://github.com/fleetdm/fleet/pull/31079); I'm happy to
implement that instead if we approve that, although for a front-end
module with a build step it's a bit more complicated. Hopefully this
code will be released in `node-sql-parser` soon and we can revert back
to using the dependency.

Here is the [full set of
changes](https://github.com/taozhi8833998/node-sql-parser/compare/master...sgress454:node-sql-parser:5.3.10-plus).

# 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/guides/committing-changes.md#changes-files)
for more information.
- [X] Manual QA for all new/changed functionality
2025-07-25 10:13:55 -05:00
RachelElysia
ef712b7ba6
Fleet UI: Add update details modal (#31250) 2025-07-25 09:28:25 -04:00
Gabriel Hernandez
8e4ec71717
update software library tab for personally enrolled mdm devices (#31219)
relates to #31058 

this updates the software library tab to show a message saying we do not
currently support software installs for personally enrolled mdm devices.

<img width="1107" height="288" alt="image"
src="https://github.com/user-attachments/assets/bbd3e62d-a2c9-4f17-81de-8f433cd5c40d"
/>

- [x] Manual QA for all new/changed functionality
2025-07-25 13:16:34 +01:00
jacobshandling
43ef110ca3
UI: InventoryVersions component (#31253)
## This is a foundational UI component shared between my current dev
work and @RachelElysia's. This PR is to share that component while we
are both developing on top of it.


Much of this logic exists in the current `SoftwareDetailsModal` (under
the hosts details page, not the identically named Activity feed
component - will be clarifying that naming in an upcoming PR). This PR
is the first step in a reorganization of much of these abstractions to
better suit the desired UX around software modals. Much more detail to
come shortly in actual feature work in upcoming PRs from both Rachel and
I.

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-24 16:02:34 -07:00
Ian Littman
71d54e1847
Populate version for macOS Chrome FMA on import, use Chrome Enterprise PKG instead of DMG, add tooltip on "latest" version when adding FMA (#30926)
Fixes #27919.

Here's how the `latest` version shows up in the UI:

<img width="513" height="288" alt="image"
src="https://github.com/user-attachments/assets/76842d1c-36f6-400c-8621-8d067ee410c6"
/>

<img width="785" height="318" alt="image"
src="https://github.com/user-attachments/assets/7077644e-7a0e-4fa4-87ce-56f54db41eb2"
/>

# 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/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)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Konstantin Sykulev <konst@sykulev.com>
2025-07-24 16:14:01 -05:00
RachelElysia
d3c654493e
FE: Fix FE test missing 2 props (#31245) 2025-07-24 15:30:10 -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
Sarah Gillespie
b0f47725fd
Add activity details for BYOD MDM enrollments (#31191) 2025-07-24 10:28:50 -05:00
RachelElysia
06428bd767
Fleet UI: Pending install/uninstall decrease > refetch host data > finish host data polling > refetch host software data (#31186) 2025-07-24 10:16:57 -04:00
jacobshandling
593a4f8156
UI: Add missing spaces (#31204)
## For #31203
<img width="693" height="209" alt="Screenshot 2025-07-23 at 3 16 35 PM"
src="https://github.com/user-attachments/assets/fc747b87-6c66-48c2-b5dc-4db0b41e8765"
/>
<img width="693" height="209" alt="Screenshot 2025-07-23 at 3 16 40 PM"
src="https://github.com/user-attachments/assets/fe69a714-7eac-4ebd-a32b-6415f0e951ac"
/>

- [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>
2025-07-23 15:18:43 -07:00
Scott Gress
ed7dd59e39
Prevent double banner on host details page (#31001)
for #29451 

# Details

This PR does a slight refactor of the MainContent, HostDetailsBanners
and HostDetailsPage components to prevent host-details-specific banner
from being shown on the Host Details page if any app-wide banners are
being displayed.

It does this by allowing the child of a `<MainContent>` node to be a
function which takes a parameter indicating whether app-wide banners are
present. The HostDetailsPage uses this new functionality to suppress
host details banners when that's the case. The HostDetailsBanners
component is updated to remove logic that previously attempted to detect
app-wide banners, using similar logic to what MainContent does to decide
whether to show banners. Instead of repeating this logic in two places,
HostDetailsBanners now just renders banners.

# 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/guides/committing-changes.md#changes-files)
for more information.
- [X] Manual QA for all new/changed functionality

I tested this by temporarily forcing an app-wide banner (by setting
[this
code](52cd0588b6/frontend/components/MainContent/MainContent.tsx (L61))
to `if (true)`), then similarly doing the same for host banners by
changing [this
code](89cdf9f61a/frontend/pages/hosts/details/HostDetailsPage/components/HostDetailsBanners/HostDetailsBanners.tsx (L79-L85))
to always run.

On the main branch, this shows two banners:
<img width="1142" height="186" alt="image"
src="https://github.com/user-attachments/assets/30645470-d1db-476d-bb76-2b48fedcc75a"
/>

On this branch, only the app-wide banner is shown.

Note that this was _only_ happening in the case of the disk encryption
banner, since there was logic in place in HostDetailsBanners to prevent
showing host banners if an app-wide banner was present. That logic was
just missing from the disk encryption case, and we'd have to continue to
keep that logic in sync with the login in MainContent any time we added
a new host banner. This refactor DRYs out the code a bit so we don't
have that concern going forward.
2025-07-23 14:38:11 -05:00
Scott Gress
fcdd01d78d
Add "Require BitLocker PIN" checkbox to disk encryption page (#31132)
for #31064 

# Details

This PR adds a "Require BitLocker PIN" checkbox under a new "Advanced"
section on the Disk Encryption page. This UI will only be visible if:

* "Turn on disk encryption" is checked
* The front-end was compiled using the `SHOW_BITLOCKER_PIN_OPTION=true`
env var, e.g.:
```
SHOW_BITLOCKER_PIN_OPTION=true NODE_ENV=development yarn run webpack --progress --watch
```

See Figma for reference:
https://www.figma.com/design/XbhlPuEJxQtOgTZW9EOJZp/-28133-Enforce-BitLocker-PIN?node-id=5334-1026&t=NuPo1M5fJepyCCRy-0

With encryption off:
<img width="569" height="233" alt="image"
src="https://github.com/user-attachments/assets/558e74cc-ce3d-47e3-aa14-1391e1cb4146"
/>

With encryption on:
<img width="551" height="285" alt="image"
src="https://github.com/user-attachments/assets/adfe2ead-4c5c-43a0-a5aa-9566635aba5f"
/>

Expanded:
<img width="534" height="297" alt="image"
src="https://github.com/user-attachments/assets/ac0620a2-528f-4118-ae46-992a646c97d8"
/>

Tooltip:
<img width="579" height="317" alt="image"
src="https://github.com/user-attachments/assets/23d13820-9bcb-49fb-b32b-2b5c60e7e55c"
/>



# 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`.
   - will add changelog when feature is complete
- [x] Manual QA for all new/changed functionality
2025-07-23 14:36:28 -05:00
Dante Catalfamo
10569e8103
Replace "try again in a few seconds" with "try again soon" (#31147)
#31019

- [x] Manual QA for all new/changed functionality
2025-07-23 09:22:58 -04:00
Gabriel Hernandez
c71787d35d
Update ABM section on integration page (#30725)
related to [#30627](https://github.com/fleetdm/fleet/issues/30627)

Updates to the integration page that creates new sections ABM and
Windows autopilot sections and updates copy for the cards.

<img width="808" height="579" alt="image"
src="https://github.com/user-attachments/assets/ec2e2123-6b87-4a2a-9209-a4a796413296"
/>


- [ ] 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-07-23 11:53:23 +01:00
Jahziel Villasana-Espinoza
1fced5184e
update self service modals to use api data (#31094)
> Closes #31003 

# 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
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-07-21 14:13:46 -04:00
Gabriel Hernandez
e89881402e
Updates across UI to support personal devices enrolled in MDM (#30830)
For [#30782](https://github.com/fleetdm/fleet/issues/30782)

This contains UI wide updates to support personal devices enrolled into
MDM. This includes:

**host details about card updates**

<img width="536" height="169" alt="image"
src="https://github.com/user-attachments/assets/a6e608e2-28b3-4bcc-ac03-4c45128bae66"
/>

**host details host actions dropdown updates (we will only show transfer
and delete for host
personal devices enrolled into MDM**

<img width="217" height="193" alt="image"
src="https://github.com/user-attachments/assets/7295e91a-7ceb-49f9-8351-5f2f4de7c450"
/>

**dashboard page MDM card updates. We've added a new row for personal
devices enrolled in mdm**

<img width="775" height="448" alt="image"
src="https://github.com/user-attachments/assets/ee819f16-faa4-437f-a6e8-2f6f8e6535dc"
/>

## NOTE

**We've also changed all instances of `On (automatic)` to `On
(company-owned)`. The API still returns `On (automatic)` so this is done
on the client side.**

- [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-07-21 12:07:03 +01:00
Tim Lee
c5f1955ca6
Add FMA icons and icon tool (#30933) 2025-07-18 13:58:45 -06:00
jacobshandling
a8e83c489b
UI sidequest - update naming of delete policies modal (#31015)
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-18 10:16:57 -07:00
Noah Talerman
1164ddd6a6
Fleet UI copy change: "Fleet app URL" => URL (#30998)
- @noahtalerman: UI already shows "Fleet web address" as the section
header. Why call it a different name, "Fleet app URL", in the field
header? Simplify this to "URL".
2025-07-18 09:49:27 -04:00
Magnus Jensen
163800cc71
Remove additional / from MDM EULA urls (#30985)
Fixes: #30359 

# 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/guides/committing-changes.md#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality (@ghernandez345
verified the EULA after automatic enrolment SSO still worked)
2025-07-18 13:30:32 +01:00
jacobshandling
7ff7d70d09
Allow users of Fleet in Primo mode to access Software automations and Failing policy ticket & webhook automations (#30865)
## For #30749, #31013

This PR implements changes to the UI and back end to accommodate
Software automations and Failing policy Ticket and Webhook automations
when Fleet is in Primo mode. Follow-up to
https://github.com/fleetdm/fleet/pull/30291

### Software automations
- When on the `/software` page and in Primo mode, the UI is, under the
hood, on "No team," though any reference to "team"s is hidden as much as
possible. In "normal" Fleet, Software automations can only be accessed
when on "All teams." This PR implements a special case in Primo mode:
when on No team and Primo mode is enabled, the user can now access the
"Software automations" modal to configure automation settings, which are
global.
- Simplified some conditions
- Moved logic living in the parent Software page that was specific to
the `SoftwareAutomations` modal into the modal for better encapsulation.

### Policy automations
The calendar, software, and scripts failing policy automations are
currently only configurable on a team (including No team) and not for
All teams. Ticket and webhook automations, accessible via the "Other
workflows" modal, by contrast, are only configurable for All teams and
teams other than No team, but not for No team. This PR updates the
Policies page, when in Primo mode (and therefore forced to be on "No
team") to:
- Continue providing "No team" data to the first 3 mentioned policy
automations modals.
- Include an enabled Other workflows option in the automations dropdown
- Update the submission handler of the Other workflows modal to update
the relevant _global_ config values
- The backend is updated to recognize this case (Failing policy webhook
/ ticket destination, policy on No team, in Primo mode) and handle it
using the global config, making the above logic sound

_Product should consider if any of these changes should be implemented
for "normal" Fleet_

### Listing and deleting policies

- Primo mode presents a pseudo-team-less UX. However, it is still
possible for earlier clients to have policies on "All teams." This
implements the ability to both see and delete "teamless" (No team under
the hood) policies and any such inherited global policies

### Other UI considerations
- Remove teams-related functionality in a couple more places - see
#31013

### Demos

- [Deleting policies, including any potentially inherited from All teams
(possible from before Primo
mode)](https://drive.google.com/file/d/1ZI4MNM3bkiOtD5MInAU32htQw8kDEupK/view?usp=drive_link)

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-17 15:53:31 -07:00
Ian Littman
c6ab9939b5
Extract UpgradeCode from MSI custom packages, use for better uninstall script generation (#30969)
Fixes #27758.

<img width="807" height="303" alt="image"
src="https://github.com/user-attachments/assets/58e5b9bc-42d6-4195-868e-bf6206ec9cd5"
/>

# 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/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)
- [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] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-17 10:33:23 -05:00
Jahziel Villasana-Espinoza
da697eb0c4
update logic and copy in case of vpp verification failure (#30964)
> Closes #30938 

# 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 automated tests
- [x] Manual QA for all new/changed functionality
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-07-17 08:31:36 -04:00
Jahziel Villasana-Espinoza
363411b82d
Don't show copy if host is Android (#30951)
> Closes #30905

# 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 automated tests
- [x] Manual QA for all new/changed functionality
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-07-16 14:43:45 -04:00
jacobshandling
e497d7c11e
UI: Follow-up for 25798 - update tests, reorganize component locations (#30792)
## Follow-up for #25798

- [x] Added/updated automated tests
- [x] Manual QA

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-07-15 12:33:19 -07:00
Jordan Montgomery
7c2c6736cc
Managed Apple account user enrollment - integrate PoC changes (#30755)
Fixes 30636

I am adding a handful of additional unit tests but this is ready for
review now. Integrates changes from Victor's PoC for Account Driven User
Enrollment including a nice end to end integration test including the
SAML portion

# 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/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)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-15 15:02:11 -04:00
Sarah Gillespie
17da791012
Add encryption_key_archived to host details API response (#30850) 2025-07-15 13:21:39 -05:00
Allen Houchins
4a76b8f03c
Add Company Portal for macOS as a Fleet-maintained app (#29777) 2025-07-14 13:12:49 -06:00
Allen Houchins
c64bee2901
New FMA: Santa for macOS (#29806) 2025-07-12 09:34:02 -06:00
Gabriel Hernandez
e91f763933
Update UI activity for mdm enrollment and gitops mode changes on ABM page (#30741)
relates to [#30628](https://github.com/fleetdm/fleet/issues/30628) and
[#30629](https://github.com/fleetdm/fleet/issues/30629)

This contains two small updates to the UI:

1. disabled the actions dropdown in abm table while in gitop mode
2. updates the mdm_enrolled UI activity to display personal enrollment
type

- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-11 17:30:11 +01:00
RachelElysia
1a5a316be9
Fleet UI: Grey box software details with no installed version (#30658) 2025-07-10 13:19:48 -07:00
RachelElysia
8d050a94a2
Fleet UI: Add truncation to versions cell for 1 version (#30748) 2025-07-10 13:04:16 -07:00
Dante Catalfamo
39b1a51229
Default to Details tab on device page (#30698)
#30653
2025-07-10 14:57:06 -04:00
Luke Heath
76119a5c68
Remove length validation for entity id input (#30689) 2025-07-09 16:07:52 -06:00
Dante Catalfamo
8615dd0c0b
Add missing webhook tooltip URL (#30603)
#29848
2025-07-09 14:37:54 -04:00
RachelElysia
14b6d5080f
Fleet UI: Self service dropdown bug fix (#30644) 2025-07-08 13:43:04 -07:00
Dante Catalfamo
ae1c2b9463
Check nullable SSO Settings fields in frontend (#30648)
#30131
2025-07-08 16:14:03 -04:00
Dante Catalfamo
b2a1187808
Never use gravatar for API users (#30593)
#28501
2025-07-07 12:32:53 -04:00
jacobshandling
5f820febdc
UI: New side nav styles, abstractions (#30568)
## #16846 


[Demo](https://drive.google.com/file/d/1xocZDfOUbu29tPpf2J6dngy3pLACIe62/view?usp=drivesdk)

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

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

* **New Features**
* Added tooltips to navigation and category menu items for improved
accessibility and clarity.
* Introduced a new optional tooltip position setting, allowing tooltips
to appear on any side of the element.
  * Expanded the color palette with a new light shade option.

* **Style**
* Refactored navigation and category menu styles to use centralized,
reusable mixins for a more consistent appearance.
* Updated navigation and category menu layouts for better structure and
maintainability.

* **Chores**
* Added new SCSS mixins for navigation styling, improving code
maintainability and consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-07 08:29:09 -07:00
Dante Catalfamo
6847f12a6f
API only users show a different avatar in the activity feed (#30512)
#28501
2025-07-07 10:45:51 -04:00
jacobshandling
dd26fb9c8b
UI: Move SSO and Host status webhook settings (#30582) 2025-07-07 07:37:13 -07:00
Gabriel Hernandez
c854509821
Suppress unneeded react tooltip test warning and update lib to latest version (#30584)
This suppresses an unneeded react-tooltip opacity warning when the tests
are run. The code is correct when assigning the opacity and this may
just be an issue with react-tooltip and jsdom not working nicely
together. This was causing to much noise in the console.

We've also updated react-tooltip 5 to the latest version

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

## Summary by CodeRabbit

* **Chores**
  * Updated the react-tooltip-5 dependency to a newer version.
* Suppressed specific harmless warnings related to react-tooltip during
test runs for cleaner test output.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:33:35 +01:00
Gabriel Hernandez
782b522cd1
disable deletion of EULA from UI when gitops mode enabled (#30555)
relates to [#28143](https://github.com/fleetdm/fleet/issues/28143)

quick fix to not allow deleting EULA when gitops mode is enabled.

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


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

## Summary by CodeRabbit

* **New Features**
* The delete button in the EULA list is now conditionally disabled based
on GitOps mode, with an explanatory tooltip.

* **Chores**
  * Removed an unused import from a test file.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:32:33 +01:00
Gabriel Hernandez
01108c898e
redo about card layout to use grid instead of flex (#30547)
Fixes [#29696](https://github.com/fleetdm/fleet/issues/29696)

This is a more thorough fix for the issue of overflowing data on the
about card. The change here is to reimplement the about card layout to
use CSS grid instead of flexbox. This handles responsiveness of the data
better and is easier to maintain when new data fields are added

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

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

* **New Features**
* IP address fields in the About card now display tooltips for truncated
text, improving readability of long values.

* **Style**
* Updated the About card layout from flexbox to a responsive grid,
enhancing alignment and adaptability across screen sizes.
* Adjusted the details panel grid layout to ensure cards remain within
their intended width, preventing overflow issues.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:32:19 +01:00
Ian Littman
0609b9b446
Bump page size to 10 for software title versions list (#30588)
Fixes #30393.

# 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/guides/committing-changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

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

* **New Features**
* Increased the number of software versions displayed per page from 5 to
10 on the software view page.

* **Tests**
* Updated tests to reflect the increased number of displayed versions
and adjusted assertions accordingly.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 09:22:52 -05:00
Lucas Manuel Rodriguez
52ada033a1
Fix a few UI typos (#30559)
Found one during testing of Entra Conditional Access and then ran
https://github.com/crate-ci/typos to fix a few more.

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

## Summary by CodeRabbit

* **Bug Fixes**
* Corrected various typographical errors in user-facing text, tooltips,
table headers, and messages across the application to improve clarity
and professionalism.
* Fixed spelling mistakes in success and error messages, tooltips, and
descriptive text on multiple pages.
* Updated test setup to use the correct sort type value for CSV
conversion tests.
  * Improved consistency in UI labels and documentation comments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 08:44:57 -03:00
jacobshandling
f0d3809b22
UI: Allow editing the name and team of a "Save as new" query (#30544)
## #14801 
### [Demo
video](https://drive.google.com/file/d/1Lovk7iwvgUv1NpfsqSt-Is0yTBt0SZ5O/view?usp=sharing)
<img width="1624" alt="Screenshot 2025-07-02 at 4 58 33 PM"
src="https://github.com/user-attachments/assets/86c7b214-e8e4-4e58-9969-b1373ed97691"
/>


* **New Features**
* Added the ability to select a team and update the name when saving a
query as a new copy, using a dedicated modal dialog.

* **Improvements**
* Enhanced the team selection dropdown with new styling options and
clarified prop names.
* Updated query editing workflow to use a modal for "Save as new"
actions.
* Improved type safety and clarity in several interfaces and utility
functions.

* **Bug Fixes**
  * Fixed inconsistencies in prop naming for team dropdown components.
* Ensured "Discard data" setting is maintained when "Save as new"ing a
query - it was previously not maintained correctly

* **Tests**
* Updated and removed tests to align with the new "Save as new" query
workflow and prop changes.
  * Added utilities for creating mock location objects in tests.

* **Style**
  * Added a new light grey color to the UI color palette.

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-03 13:11:06 -07:00
Dante Catalfamo
5170613a66
Use user full name for login activity instead of email (#30553)
#29962
2025-07-03 13:02:19 -04:00
Konstantin Sykulev
6d5ac49c74
remove default'd available_for_install (#30516)
This was added to support the "All Software" when listing software on
the host.

Fixes #30188

- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.


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

* **New Features**
* Added an option to explicitly exclude software available for install
from host software listings.

* **Bug Fixes**
* Improved accuracy of software inventory results when filtering by
availability for install.

* **Tests**
* Added a test to verify exclusion of available-for-install software
when the relevant option is set.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-07-03 10:49:31 -05:00
Gabriel Hernandez
ea4bb9aa62
premium tier message for certificates section in integrations (#30509)
Fixes #29505

This adds a premium permission tier message to the UI for the
certificates section in the ingrations page

- [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
2025-07-02 17:03:34 +01:00
Jordan Montgomery
5263e95067
29867 Block profile PayloadScope changes (#30429)
For #29867 . Includes latest copy requested by product.

# 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/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)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-02 10:54:54 -04:00
RachelElysia
933909f489
Fleet UI: VPP command copy includes command verification nuance (#30431)
## Issue
Closes #29893 

## Description
- Update text for VPP command for pending_install and failed_install to
include verification nuance
- Add related tests

## Note
- Original PR pointing to `vpp-verify-followup` but should be repointed
to `main` once that branch is merged in


# 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`.
- [x] Added/updated automated tests
- [ ] Manual QA for all new/changed functionality

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-07-01 12:07:13 -05:00
jacobshandling
0f94a718d9
UI: Improve names, cleanup unused imports (#30434)
Side quest while doing feature work

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-06-30 16:00:22 -07:00
RachelElysia
8fc1468d37
Fleet UI: Host details > Software > Library statuses clickable, add software button (#30318) 2025-06-30 13:26:01 -04:00
jacobshandling
48ea14abbd
UI: Labels by IdP (#30368) 2025-06-30 10:05:03 -07:00
Lucas Manuel Rodriguez
608f768dd7
Add support for IdP department to SCIM and add FLEET_VAR_HOST_END_USER_IDP_DEPARTMENT fleet variable (#30375)
#29609

Verified the changes with [Entra ID's
validator](https://scimvalidator.microsoft.com/) and adding the
department attribute to the tester:
<img width="1312" alt="Screenshot 2025-06-27 at 8 54 32 AM"
src="https://github.com/user-attachments/assets/45a5deb8-7c65-49df-b3e8-eb05bea11f6b"
/>
<img width="1312" alt="Screenshot 2025-06-27 at 8 54 21 AM"
src="https://github.com/user-attachments/assets/91b554b5-b0b9-4bb6-a0cf-4e3b40e6ce21"
/>

- Tested with Okta
- TODO: Test with Entra ID and Google Workspace.
- I decided to not fail profile deployment if a user has no department
because it's not a required attribute, instead the
`FLEET_VAR_HOST_END_USER_IDP_DEPARTMENT` will be replaced with the empty
string.

---

- [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)
- [X] If database migrations are included, checked table schema to
confirm autoupdate

(https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- 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] Added/updated automated tests
- [X] Manual QA for all new/changed functionality
2025-06-29 15:23:03 -03:00
jacobshandling
e74e30105b
UI: In Primo mode, enforce No team or All teams, depending on the page, to preserve premium functionality (#30291)
## #30198 

[Video
demo](https://drive.google.com/file/d/1RBk5QNQdQvXTHJveCNkIeMXj5hWFA5Ft/view?usp=sharing)

- Implement the following logic for `teamId` in the UI when in Primo
mode:
<img width="870" alt="Screenshot 2025-06-24 at 12 47 48 PM"
src="https://github.com/user-attachments/assets/8ae81c3f-223f-4dda-954d-c42c7008de45"
/>
- Above logic is enforced - if trying to change/add/remove `team_id`,
automatically pushed to appropriate team

- Fixes originally reported issue - user in Primo mode can access
installable software (on the hidden "No team" which is now enforced):
  - Software page on No team
    - Update header help text 

![ezgif-49ce1977ab6474](https://github.com/user-attachments/assets/0d011f94-7c90-4d42-92ec-135baafe7927)


- Handle UI edge cases the above surfaces:
  - Queries page on All teams (No team not supported):
<img width="1624" alt="Screenshot 2025-06-24 at 1 10 40 PM"
src="https://github.com/user-attachments/assets/84bb2ca0-b8e7-44e8-9bf5-9f8f243d5584"
/>

  - Policies page on No team:
<img width="1624" alt="Screenshot 2025-06-24 at 1 10 53 PM"
src="https://github.com/user-attachments/assets/144d745f-e9b0-4933-be45-2db4fe428cfe"
/>

- update `useTeamIdParam` hook's strip query params on change team logic
to optionally also consider the current team

**Important notes**
- Software page: Software automations are only accessible via All teams,
while Add software is only accessible on a team, including No team. In
lieu of specs around this, I decided to favor Add software functionality
over Software automations functionality, aka, push to "No team" on this
page. Enabling _both_ functionalities would be a very large ticket and
need to go through a proper drafting process, since Fleet doesn't
currently support both in any state.
- Policies page:
- "Other workflows" (tickets and webhooks) is available on All Teams and
specific teams, but not on No Team, so "Other workflows" is currently
unavailable in Primo mode
- If any of the Primo customers have created policies on All Teams
already, they won't be able to manage automations on them anymore. All
Teams policies can only have ticket/webhook workflows


- [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>
2025-06-25 09:26:36 -07:00
Noah Talerman
a51f074ecf
Software page: Hide "Available for install / Self-service" dropdown for "All teams" and Fleet Free (#30274)
---------

Co-authored-by: RachelElysia <rachel.elysia.perkins@gmail.com>
2025-06-25 09:24:36 -04:00
github-actions[bot]
e86e096071
Fleet UI: Update osquery version options (#30299)
Automated update of MIN_OSQUERY_VERSION_OPTIONS with any new osquery
release. (Note: This automatic update is the solution to issue #21431)

Co-authored-by: RachelElysia <RachelElysia@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-06-24 20:41:03 -05:00
Juan Fernandez
e7519eef48
29762: Fixed bug with run script modal on FreeTier. (#30138)
For #29762 

When running on FreeTier do not apply teamId criteria on end-point used by the Run Script modal.
2025-06-23 13:03:22 -04:00
jacobshandling
0c139c98e7
UI: Hide teams dropdown on software details pages in Primo mode (#30218)
## #30200 


![ezgif-73f99c5eaa3368](https://github.com/user-attachments/assets/77e10692-04c8-4021-b9dc-8bd4fcd90726)


- [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>
2025-06-23 09:55:36 -07:00
RachelElysia
3d8b89bdf0
Fleet UI: Host software followup (#30205) 2025-06-23 11:09:20 -04:00
Gabriel Hernandez
34270c23bd
disable uploading EULA in UI when gitops is enabled (#30174)
Relates to #28143

remove ability to upload a EULA in the UI if gitops is enabled

- [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.
- [s] Manual QA for all new/changed functionality
2025-06-23 14:27:33 +01:00
RachelElysia
3715545e67
Fleet UI: Revamp host > software page with inventory/library tabs (#29759) 2025-06-20 15:02:22 -04:00
Gabriel Hernandez
63ace13b11
Fix issue where you cant delete a bootstrap package (#30146)
Fixes [#30059](https://github.com/fleetdm/fleet/issues/30059)

Fixes an issue where you couldn't delete a bootstrap package. The issue
was an unused json struct tag for DryRun on the
`deleteBootstrapPackageRequest` struct.

I also updated the UI to use the current endpoint to delete a bootstrap
package

- [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
2025-06-20 17:05:16 +01: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
Ian Littman
36bf6d91e5
Drop a few more font size overrides (#30168)
For #27951.

### Host enroll

Before:

<img width="759" alt="image"
src="https://github.com/user-attachments/assets/df7aa542-724c-4e61-a4c9-49f794c470ec"
/>

After:

<img width="750" alt="image"
src="https://github.com/user-attachments/assets/c23d6403-9c47-4af5-80f2-5fce712cec8c"
/>

### SQL editor (placeholder on software pre-install query in edit modal)

Before:

<img width="761" alt="image"
src="https://github.com/user-attachments/assets/32218586-fe3e-4531-afad-766e659a304f"
/>

After:

<img width="760" alt="image"
src="https://github.com/user-attachments/assets/22e3a693-e017-4f62-9f27-4f9e0747520b"
/>

Bootstrap package modal only shows up on failed bootstrap package loads,
so rather difficult to get to where this can be tested, but other
outputs are 14px so this should be fine.

- [x] Manual QA for all new/changed functionality
2025-06-19 22:16:39 -05:00
Scott Gress
becb7a3b5b
Add null check to fix manage automations issue (#30154)
For #30001

# Details

When Fleet is started with logging configured in a way such that the
logging plugin has no `config`, clicking "Manage Automations" on the
manage queries page results in a 500 page. An example config would be:

```
fdm up --server_address=localhost:8080 --dev --dev_license --logging_debug --osquery_result_log_plugin=stdout --osquery_status_log_plugin=stdout --activity_audit_log_plugin=stdout
```

This PR fixes the issue by adding null protection for cases where the
`config` object is empty for the logging plugin.

# 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/guides/committing-changes.md#changes-files)
for more information.
- [X] Manual QA for all new/changed functionality
2025-06-19 14:51:49 -05:00
Scott Gress
7549defa28
Fix issue saving labels (#30126)
# Details 
This PR fixes an issue where the user is redirected to a 500 error page
after saving a new label if they were on the All Teams host page before
creating the label. The issue was due to the redirect having
`team_id=-1` in it, and the fix is to detect that All Teams is selected
and, if so, not set `team_id` in the URL at all.

# Checklist
<!-- Note that API documentation changes are now addressed by the
product design team. -->
- [X] Manual QA for all new/changed functionality
- [X] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.

# Testing

Tested adding a new and dynamic label from All Teams, No team and a
custom team. Vids below for "All Team":

Before:

![30036-before](https://github.com/user-attachments/assets/f958f31d-9b8d-4a61-8b3d-8d55590628fe)

After:

![30036-after](https://github.com/user-attachments/assets/0b424ed7-9bab-45cd-b4e5-2a6ae4a1309a)
2025-06-19 11:17:20 -05:00
Dante Catalfamo
f25ed917d3
Fixed tooltip not showing the correct log destination (#30124)
#28613
2025-06-19 10:39:07 -04:00
Gabriel Hernandez
afffad11a0
fix typos and add premium feature message to idp integration page (#30079)
Fixes #29505

Quick fix to show the premium feature message for idp integrations card

- [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
2025-06-19 12:34:53 +01:00
Gabriel Hernandez
8b25a1bae7
fix truncation of mdm server url value in about card (#30085)
Fixes #29696

fixes truncation of the mdm server url value on the about card.

- [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
2025-06-19 12:34:06 +01:00
github-actions[bot]
b1fe6b485c
Fleet UI: Update osquery version options (#30139)
Automated update of MIN_OSQUERY_VERSION_OPTIONS with any new osquery
release. (Note: This automatic update is the solution to issue #21431)

Co-authored-by: RachelElysia <RachelElysia@users.noreply.github.com>
2025-06-18 19:14:49 -05:00
Dante Catalfamo
78ba04ff10
Fix policy autofill using incorrect media-type for query (#30112)
#30066
2025-06-18 13:12:58 -04:00
RachelElysia
b29cb6bfd3
Fleet UI: Fix os settings tooltips from flashing during refetch (#30080) 2025-06-17 09:35:03 -04:00
jacobshandling
ec9bc87207
UI: Fix dropdown width (#30025)
https://fleetdm.slack.com/archives/C02A8BRABB5/p1749832741812749?thread_ts=1749830953.421299&cid=C02A8BRABB5


![ezgif-29df3a41863e6d](https://github.com/user-attachments/assets/15687ee6-7117-4286-93fd-e271cacbcba6)

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

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-06-16 15:54:35 -07:00
RachelElysia
999207bd33
Fleet UI: Improved error and loading state for self-service page (#30042) 2025-06-16 11:23:19 -04:00
Ian Littman
6f772a4405
Clean up "here" link anchors for docs, ee, and frontend dirs (#29742)
More work to fix #29720.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-06-13 15:05:52 -05:00
jacobshandling
69cd060b9a
UI: Consistent password field styling (#29984) 2025-06-13 11:37:26 -04:00
Gabriel Hernandez
03a7b27633
update host details cert card (#29827)
Relates to  [#29324](https://github.com/fleetdm/fleet/issues/29324)

updates certificates card UI on the host details and my devices page.
changes some copy and adds a new Keychain column.


![image](https://github.com/user-attachments/assets/3310cd61-4447-499b-8d03-9a987fbcaed7)

- [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] Manual QA for all new/changed functionality
2025-06-13 13:00:41 +01:00
Victor Lyuboslavsky
cca4d2440d
Remove Android feature flag from frontend (#29890)
Fixes #26519

- Removed Android feature flag from the frontend
- Added custom error message when Android enterprise already exists, per
https://fleetdm.slack.com/archives/C084F4MKYSJ/p1748981589180829?thread_ts=1748638333.353069&cid=C084F4MKYSJ

# Checklist for submitter

- [x] Manual QA for all new/changed functionality
2025-06-12 20:05:56 -05:00
jacobshandling
37856d28b8
UI: Disable MDM > End user migration section when GitOps mode enabled (#29968)
## For #28823

<img width="1071" alt="Screenshot 2025-06-12 at 11 29 29 AM"
src="https://github.com/user-attachments/assets/f8ea9022-9bbd-4405-943b-923910265be5"
/>


- [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>
2025-06-12 15:21:01 -07:00
RachelElysia
840f620089
Fleet UI: Remove hover border on non-clickable dashboard card (#29967) 2025-06-12 16:42:19 -04:00
RachelElysia
4277a9e93e
Fleet UI: Remove unsupported sorting arrows from host software table (#29966) 2025-06-12 14:30:38 -04:00
jacobshandling
b4311f735d
UI: Make teams dropdowns searchable (#29928)
## For #28822 

- Enable searching the teams dropdown
- Ensure right-scrolling per usual text input fields when search text is
long
- Ensure neighboring elements are not moved when search text is long


![ezgif-5b014b0a03dc31](https://github.com/user-attachments/assets/30f98ea6-c7f8-4566-bfef-4e1a6eb0b55d)

- [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>
2025-06-11 15:11:12 -07:00
Lucas Manuel Rodriguez
1c5700a8c4
Microsoft Compliance Partner backend changes (#29540)
For #27042.

Ready for review, just missing integration tests that I will be writing
today.

- [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)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [X] If database migrations are included, checked table schema to
confirm autoupdate
- For new Fleet configuration settings
- [X] Verified that the setting can be managed via GitOps, or confirmed
that the setting is explicitly being excluded from GitOps. If managing
via Gitops:
- [X] Verified that the setting is exported via `fleetctl
generate-gitops`
- [X] Added the setting to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [X] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [x] Verified that any relevant UI is disabled when GitOps mode is
enabled
- 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] Added/updated automated tests
- [X] Manual QA for all new/changed functionality

---------

Co-authored-by: jacobshandling <61553566+jacobshandling@users.noreply.github.com>
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-06-11 14:22:46 -03:00
RachelElysia
44e6f27736
Fleet UI: Cover data with header tooltips to be consistent (#29887) 2025-06-10 16:06:07 -04:00
RachelElysia
c574c4db25
Fleet UI: Consistent font size across input fields and dropdowns (#29865) 2025-06-10 15:04:18 -04:00
RachelElysia
8cdda4819f
Fleet UI: Add 24px gap between banner text and CTA (#29864) 2025-06-10 14:47:03 -04:00
jacobshandling
e57452de6c
UI: Filter hosts by batch execution status (#29612)
## For #29444

- Update script batch summary modal status rows to link to the hosts
page filtered by the appropriate batch script run and status
- Add above filtering capabilities to the hosts page

<img width="1912" alt="Screenshot 2025-05-30 at 12 39 54 PM"
src="https://github.com/user-attachments/assets/4299ecaa-10bd-49f4-b0f8-cd0e71108e04"
/>

<img width="1912" alt="Screenshot 2025-05-30 at 12 40 22 PM"
src="https://github.com/user-attachments/assets/8252560e-59a2-42a9-bd0c-e5ca05c53390"
/>


- [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>
2025-06-09 10:53:17 -07:00
RachelElysia
268771c9b1
Fleet UI: Follow up for GitOps YAML (#29800) 2025-06-09 10:05:03 -04:00
Marko Lisica
a5857cf6ef
Update tooltip to exclude link (#28559)
This isn't supposed to be link. We use bold text to reference UI
elements, but it's not expected to have links in tooltip.

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-06-09 13:10:28 +01:00
Juan Fernandez
1c7d2a0c8a
Removes duplicates when listing software titles on 'All teams' (#29459)
For #26375. 

When listing software titles for 'All teams', do not join against
software installers nor vpps to avoid duplicates.

Since filters related to software installers/VPP apps are no longer used
when viewing titles for 'All teams', the filter dropdown is disabled if
'All teams' is selected.
2025-06-07 10:47:53 -04:00
RachelElysia
e16785f517
Fleet UI uninstall self service followup (#29407) 2025-06-06 15:40:52 -04:00
Luke Heath
c8bd0673bb
Remove couldn't add string addition from frontend helper utility (#29736) 2025-06-03 15:24:23 -06:00
Juan Fernandez
ec42e2d416
Fixes 29044: UI bug due to missing style for tooltip. (#29556)
For #29044 

Fixed styling issues with 'Observers can run this query' tooltip on the queries page.
2025-05-30 19:02:58 -04:00
Luke Heath
3ef7caef9d
Apply starter library during new Fleet instance setup (#29564) 2025-05-30 16:27:33 -05:00
Juan Fernandez
d6b3caf1db
Fixes 28109: UI bug related to policy reported results (#29562)
For #28109 

When running a policy, base the number of results on the number of 'sucessful' hosts.
2025-05-30 16:34:52 -04:00
jacobshandling
2e8168149d
UI: Fix tooltip logic of FilterPill (#29630)
## Closes #29613 

- Previous changes intended to add `TooltipTruncatedText`-like
functionality accidentally broke existing functionality when pill
content was not truncated
- This restores the previous functionality when explicit tooltip content
is passed in, and adds fall back behavior to act like
`TooltipTruncatedText`, where when the element content is truncated, its
full content is rendered as a tooltip on hover.

### Tooltip content is explicitly passed in and rendered in the tooltip.
Notice the tooltip content differs from the underlying element content:
<img width="675" alt="Screenshot 2025-05-30 at 11 21 49 AM"
src="https://github.com/user-attachments/assets/b0f8e72e-9925-4844-80ca-672b6efeb443"
/>

### No tooltip content passed in, falls back to
`TooltipTruncatedText`-like behavior. Notice the truncated element
content is the prefix of the full content rendered in the tooltip:
<img width="675" alt="Screenshot 2025-05-30 at 11 21 25 AM"
src="https://github.com/user-attachments/assets/e5fe7d74-3674-478c-8e33-7e84006e7390"
/>

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

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-30 11:57:54 -07:00
RachelElysia
8971d966bb
Fleet UI: Unreleased handle multiple hash (#29607) 2025-05-30 14:19:25 -04:00
jacobshandling
b96ce7cdfd
fix conditions for batch run ui disabling (#29599)
## For #29595 

- Only depend on total filtered hosts count when selecting all hosts on
all pages


![ezgif-3acee2170765d3](https://github.com/user-attachments/assets/4581409f-b8d7-45cf-94a4-24826bc0aec0)

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

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-29 13:06:21 -07:00
RachelElysia
9ba16421cc
Fleet UI: Squish bug final fix (#29597) 2025-05-29 15:53:26 -04:00
RachelElysia
f209d98d08
Fleet UI: Inverse order of vulnerability level filtering (#29591) 2025-05-29 15:47:50 -04:00
RachelElysia
ead33ade53
Fleet UI: Fix vuln page banner padding and flex direction (#29589) 2025-05-29 15:47:19 -04:00
RachelElysia
b3ee06c5c4
Fleet UI: Unreleased handle undefined signature_information (#29550) 2025-05-29 07:24:25 -04:00
RachelElysia
21f7a0001f
Fleet UI: View YAML modal updated (#29545) 2025-05-29 07:20:26 -04:00
RachelElysia
fd1a1cccf3
Fleet UI: Fix responsiveness with added installer data (#29541) 2025-05-29 07:19:54 -04:00
RachelElysia
94ae5ab8dd
Fleet UI: Consistent icon for device user error as data error (#29535) 2025-05-29 07:19:34 -04:00
jacobshandling
d51ea2279e
UI: Update query automations modal (#29517)
## For #28884 

<img width="803" alt="Screenshot 2025-05-27 at 6 45 14 PM"
src="https://github.com/user-attachments/assets/f4bd431e-3df8-464b-b871-8baeba5cf86c"
/>


- [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>
2025-05-28 13:06:33 -07:00
jacobshandling
4b5f5e9406
UI: Update disk encryption key font (#29514)
## For #28865 

**Before**:
<img width="656" alt="Screenshot 2025-05-27 at 4 08 48 PM"
src="https://github.com/user-attachments/assets/42a97b6a-2612-47f0-8a04-ef2864a4b896"
/>

**Now**:
<img width="656" alt="Screenshot 2025-05-27 at 4 13 07 PM"
src="https://github.com/user-attachments/assets/f65c399b-16b8-498b-90ba-454333543c19"
/>


- [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>
2025-05-28 09:44:04 -07:00
jacobshandling
b7d84bca33
UI: Query "frequency" -> "interval" (#29518)
## For #28821 

- Update UI-rendered references to `/(F|f)requency/` to refer to
`/(I|i)nterval/` instead


![ezgif-60c1b29b41ce29](https://github.com/user-attachments/assets/d2012116-bfe7-4a0c-8056-e4d3e61e623d)

- More info: Note that this PR only changes copy actually rendered in
the UI (and an associated test), and is low-risk, so can be merged and
QAed quickly. [This
branch](https://github.com/fleetdm/fleet/tree/28821-add-on-update-code)
contains updates to variables, constants, and class names, more
error-prone changes that, if review and QA capacity allow, can be PRed
for consistency between the code and the copy, but is not critical for
the desired UI updates.

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-28 09:40:13 -07:00
RachelElysia
bd51c35ba6
Fleet UI: Help text button font size fix (#29489) 2025-05-27 15:52:19 -04:00
Rachael Shaw
e97971fc28
UI: Fix "Last seen" hover text on host list (#29499)
Copy change to fix this bug:
https://github.com/fleetdm/fleet/issues/29423

+ Sentence cases text
+ Removes unnecessary "UTC" after timeago
2025-05-27 14:19:10 -05:00
RachelElysia
87576e796d
Fleet UI: Consistent script naming, enable copy button (#29422) 2025-05-23 12:19:43 -04:00
RachelElysia
6753655998
Fleet UI: Uninstall self service status change bug (#29412) 2025-05-23 09:33:44 -04:00
RachelElysia
6336309972
Fleet UI: Suface SHA256 in software details modal (#29408) 2025-05-23 09:09:06 -04:00
jacobshandling
e25c1c3728
UI: Add ability to run a script on all hosts that match a set of supported filters; Add UI to view batch run summaries (#29025)
_Only merge to `main` after [back
end](https://github.com/fleetdm/fleet/pull/29149) and [back end
extension](https://github.com/fleetdm/fleet/pull/29312)_

## For #28699, #29143, #29281

- Run scripts by filter
- View batch script run summary via activity feed
- Code clean up

### Run scripts by filter:
<img width="1280" alt="Screenshot 2025-05-09 at 5 21 51 PM"
src="https://github.com/user-attachments/assets/bcf2e275-f229-461b-8411-0e99c34af5bf"
/>
<img width="1280" alt="Screenshot 2025-05-09 at 5 22 47 PM"
src="https://github.com/user-attachments/assets/d4882ed3-cfa6-4952-acbe-89c60d65d482"
/>

### View script run summary:

![ezgif-4ebaf9c57d6e57](https://github.com/user-attachments/assets/4201ff85-04e3-473f-8a82-969f85e59558)

- [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-05-22 16:45:43 -07:00
RachelElysia
29e937ffbf
FE: Followup gitops YAML code nits (#29383) 2025-05-22 15:59:15 -04:00
Dante Catalfamo
a202e31929
Add SMTP settings save tooltip (#29112) 2025-05-22 14:47:38 -04:00
Dante Catalfamo
437c8114b1
Allow certain licenses to disable telemetry (#29093)
#28220
---------

Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-05-22 14:27:07 -04:00
jacobshandling
831e06e8d7
UI: User menu- restore 2 dividers, remove border radius (#29376)
## For #27609 

<img width="179" alt="Screenshot 2025-05-21 at 4 53 45 PM"
src="https://github.com/user-attachments/assets/acfb15c1-a743-4a3a-9e6b-c2a7c9521f5b"
/>

This PR implements [the desired
UI](https://github.com/fleetdm/fleet/issues/27609#issuecomment-2885250756)
for the user menu

- ~[ ] Changes file added for user-visible changes in `changes/`~ [added
in previous
PR](https://github.com/fleetdm/fleet/pull/29066/files#diff-a072b167801f952e1d37dc5fdb98a4c292f95832b4d9c5e4eff40161ca3a40eaR1)
- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-22 10:19:38 -07:00
RachelElysia
0ae3abd5d6
Fleet UI: Allow gitOps mode to add package to view YAML (#29274) 2025-05-22 09:47:57 -04:00
Scott Gress
2e89780c6d
add HostIDs to label API (#29185)
for #27701

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

## Details

This PR fixes an issue where adding or removing a single host on a
manual label in the UI had unexpected results when that host's serial
number was not unique. When adding the host, all other hosts with the
same serial # would be added. When removing the host, _no_ hosts would
be removed unless _all_ the hosts with the matching serial # were
removed. The fix here is to introduce a new API param `host_ids` which
allows sending explicit Fleet host IDs to the add/update label APIs.
These are guaranteed to be unique.

## Testing

* Added new automated tests for the `NewLabel` and `ModifyLabel`
services
* Manually tested adding and modifying labels using hosts with duplicate
serials (I manually updated serials in my local db to get duplicates)

## Notes

* The existing `hosts` param is preserved (and tested) since API-only
users may rely on it.
* A separate API docs PR will be opened.
2025-05-22 08:20:35 -05:00
Dante Catalfamo
405dd55371
Make read_host_disk_encryption_key a host activity (#28858)
#28521
2025-05-21 16:47:11 -04:00
jacobshandling
bf9e9566a8
UI: Fix permissions for accessing queries table Edit UX (#29319)
## For #28532 

#### As global observer:
![Screenshot 2025-05-20 at 10 03
59 PM](https://github.com/user-attachments/assets/8ad9d01d-d0cb-402c-b32b-1928a494054e)

#### As global admin:
![Screenshot 2025-05-20 at 10 04
01 PM](https://github.com/user-attachments/assets/6f8fdfd5-9255-4865-b91a-0d2fd4a22121)


- [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>
2025-05-21 10:40:57 -07: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
Gabriel Hernandez
725e7336b9
add host filtering by mdm config profile and the profile status (#29287)
For [#28761](https://github.com/fleetdm/fleet/issues/28761)

This adds the ability to filter the hosts by `profile_uuid` and
`profile_status` query params. This was added for the following
endpoints:

```
GET /hosts
GET /hosts/count
GET /hosts/reports
```

This also adds the UI needed to send the query params to the API
correctly when exporting a CSV of the hosts

- [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-05-21 18:29:13 +01: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
Martin Angers
df58fd1402
BRP: Fix bad path used in batch-resend call (#29305) 2025-05-21 11:14:20 -04:00
jacobshandling
19fe0ff5ce
UI: Improve TooltipTruncatedText and now underlying useCheckTruncatedElement (#29232)
## For #27667 

- Have `TooltipTruncatedText` component use `useCheckTruncatedElement`
to track its current state of truncation.
- Update `useCheckTruncatedElement` to re-evaluate truncation state
based on changes to the width of
the element itself as opposed to changes to viewport width. This
facilitates truncation when the
width of the element is updated due to user interaction / change in UI
state other than window resize, e.g. checking a policy in the policy
software automations modal (see issue description for details
reproduction instructions there).

**Truncation with tooltip successful for UI state changes:**

![ezgif-27969fb4a17d3e](https://github.com/user-attachments/assets/66156bd5-7948-4e73-9c11-4a08fde44189)

Truncation with tooltip successful for viewport resizing:

![ezgif-2515f715b05436](https://github.com/user-attachments/assets/8ef70579-1e89-4a4b-9fd0-93a4776d3151)

![ezgif-24a953c65500d9](https://github.com/user-attachments/assets/fc2f302b-6f7e-463e-97d2-9978b97c5601)

- [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>
2025-05-20 15:41:53 -07:00
Scott Gress
28ba274f1f
Fix SQL query editor cursor alignment issue (#28878)
for #27233 

# 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.

## Details

This PR fixes an issue where the cursor in the SQL editor would become
misaligned under some circumstances. I was never able to reproduce this
personally, but big thanks to @mason-buettner for both the reproduction
and testing this fix.

The issue seems to stem from the Ace editor having a hard time dealing
with CSS scaling. I'm not sure what circumstances actually cause this to
occur, but a combination of Google and ChatGPT lead me to
https://github.com/securingsincity/react-ace/issues/750 and
https://github.com/ajaxorg/ace/issues/4794 which I combined for this fix
which seems to work.
2025-05-20 16:56:52 -05:00
Jahziel Villasana-Espinoza
0e030eb458
handle case when fleet maintained apps list is null (#29296)
> For #29197 

# 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/guides/committing-changes.md#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality
2025-05-20 15:42:35 -04:00
RachelElysia
7c69c69728
Fleet UI: Dashboard > Software fix cached data not updating UI (#29288) 2025-05-20 13:34:08 -04:00
Sarah Gillespie
aea4406b4f
Improve MDM device-to-user mapping for Apple devices (#29239) 2025-05-19 13:29:46 -05:00
Luke Heath
9156ce35dd
Fix activity feed padding (#29234) 2025-05-17 15:07:05 -05:00
Luke Heath
7380919dc3
Organize contributor docs and establish ADR process and template (#29101) 2025-05-17 15:03:52 -05:00
RachelElysia
3d17c81018
Fleet UI: Clarify Host software/self-service status and version columns (#29008) 2025-05-16 15:09:24 -04:00
RachelElysia
f30d8e1bb8
Fleet UI: Confirmed toast messages to end user for self-service install/uninstall (#29179) 2025-05-15 14:35:49 -04:00
RachelElysia
4dc5f30dc1
Fleet UI: Surface copyable SHA256 hash on software details page (#29152) 2025-05-15 12:20:22 -04:00
Kenny Botelho
2e1cc48925
feat: add NICE DCV Viewer as a maintained app (#28332)
This PR adds NICE DCV Viewer as a new maintained app for macOS. The app
is available through homebrew and is used for connecting to NICE DCV
remote display protocol.

---------

Co-authored-by: Kenny Botelho <kbotelho@nvidia.com>
Co-authored-by: Eugene <eugkuo@gmail.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Noah Talerman <noahtal@umich.edu>
Co-authored-by: Jahziel Villasana-Espinoza <jahzielv@gmail.com>
2025-05-15 12:12:53 -04:00
Gabriel Hernandez
63b2e19630
allow turning off mdm for iphone and ipad hosts (#29087)
For [#23784](https://github.com/fleetdm/fleet/issues/23784)

This adds the "turn off mdm" option don't he host details page for
iPhone and iPad devices.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [ ] Added/updated automated tests
- [ ] Manual QA for all new/changed functionality
2025-05-15 12:38:07 +01:00
Gabriel Hernandez
5815dc4e54
Feat UI host filter by custom profiles (#29038)
For #28759

This is the UI work for being able to filter hosts by a configuration
profile status. There are also added tests in this PR.


![image](https://github.com/user-attachments/assets/b2585093-b191-4dc5-a11e-55ad4156d713)


- [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-05-15 12:37:45 +01:00
jacobshandling
eac2b575f8
UI - singular for single host targeted in bulk run (#29097)
Small clean up

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-14 12:59:58 -07:00
RachelElysia
56b34eb29f
Fleet UI: Allow self-service uninstallations of FMA and custom packages (#29055) 2025-05-14 11:42:37 -04:00
RachelElysia
49ff65b859
Fleet UI: Unreleased bug separating card from details summary component (#29113) 2025-05-13 17:16:37 -04:00
jacobshandling
28ea0f0589
UI: User menu style fix (#29066)
## For #27609 

<img width="180" alt="Screenshot 2025-05-12 at 4 00 52 PM"
src="https://github.com/user-attachments/assets/1aabd897-ecae-45f0-9b53-c81677a47d55"
/>

- [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>
2025-05-13 11:49:48 -07:00
jacobshandling
9bd3a3df8d
UI: Hide script contents for saved script run activity details (#29064)
## For #27255 

- Hide script contents when a saved script was run
- Clean up code

<img width="1276" alt="Screenshot 2025-05-12 at 3 39 32 PM"
src="https://github.com/user-attachments/assets/e057820e-3db0-4ac0-be7c-38abf20cfadc"
/>


- [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>
2025-05-13 11:16:27 -07:00
RachelElysia
8df6ea1fd0
Fleet UI: Add policies table to the sw title details page (#28886) 2025-05-13 13:41:44 -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
Katheryn Satterlee
9ea5ecde68
Add neon to Linux platform list (#28977)
Added `neon` to list of Linux platforms associated with hosts so that
Linux-specific detail queries and policies will be sent to hosts running
the XDE Neon operating system.

This does not guarantee full compatibility with Neon, but will improve
telemetry.

Resolves #28560 


# 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] 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)
- [ ] Manual QA for all new/changed functionality
2025-05-12 17:37:21 -05:00
jacobshandling
262832bfff
UI: Warn before saving script contents (#29026)
## For #28699 auxiliary feature


![ezgif-28c6ba4048c004](https://github.com/user-attachments/assets/2631286a-b4bd-431a-8ea1-5b962af933dd)

- [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-05-12 13:51:38 -07:00
jacobshandling
3049d3c3d0
UI: Add configuration option for customer-preston (#28941)
## For #28221, frontend portion

- In desired places, read new config option and render desired UI
accordingly
- Code refactors to more elegantly support this functionality
- Backend branch [here](https://github.com/fleetdm/fleet/pull/28893) for
testing
![Screenshot 2025-05-07 at 2 38
14 PM](https://github.com/user-attachments/assets/5130a96d-ee6e-480f-a1f7-9ff0b3c0dda3)
![Screenshot 2025-05-07 at 2 37
36 PM](https://github.com/user-attachments/assets/f487212d-2620-4c01-9f9d-534fc34396e5)
![Screenshot 2025-05-07 at 2 29
17 PM](https://github.com/user-attachments/assets/d3814704-8d72-4a57-9d81-3f5345d60d46)
<img width="1012" alt="Screenshot 2025-05-07 at 12 00 04 PM"
src="https://github.com/user-attachments/assets/81519388-7696-4a7e-a55a-0d0874c17aad"
/>

**Teams dropdowns:**

![ezgif-7e20570dcd7c58](https://github.com/user-attachments/assets/2bf2b8ca-0d55-495d-8653-ab564320aa13)


- [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-05-12 13:36:38 -07:00
RachelElysia
7463fb18b4
Fleet Desktop: Update component level error states (#28816) 2025-05-12 09:25:09 -04:00
Martin Angers
6e65078b86
BRP: add the batch resend activity support to the frontend (#28900) 2025-05-12 08:32:05 -04:00
RachelElysia
025678a869
Fleet UI: Default to All in dropdown instead of Select place holder (#29015) 2025-05-09 15:34:34 -04:00
Gabriel Hernandez
b9e321e545
Add UI for viewing config profile install status and enable resending profiles to failed hosts. (#28964)
For [#28757](https://github.com/fleetdm/fleet/issues/28757)

implements UI for viewing a config profiles install status info as well
as allows user to resend the profile to hosts that it failed on. this
includes

**New info icon on the profile list item**

<img width="618" alt="image"
src="https://github.com/user-attachments/assets/2eb515fe-caea-43da-8e1c-02672825cf84"
/>

**modal to show config profile install status**

<img width="656" alt="image"
src="https://github.com/user-attachments/assets/21b6c483-1d36-40d9-9e5c-a74e7a9fcd50"
/>

**modal to confirm resending profile to failed hosts** 

<img width="666" alt="image"
src="https://github.com/user-attachments/assets/c29d0d24-f6ba-4567-b954-f3908cdfed85"
/>



- [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
2025-05-09 16:46:09 +01:00
jacobshandling
1cf68356b1
Update test structure (#28874)
Organizational improvement to a test, no functional changes to the
product

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-08 10:01:02 -07:00
RachelElysia
fe087db01b
Fleet UI: Hide edit tarballs package (#28965) 2025-05-08 12:26:35 -04:00
Jordan Montgomery
844723bfbc
Add NDES error message (#28960)
For #28948 adds LearnMoreLink for NDES error messages as well. Also
refactored the code that creates the errors slightly to genericize in
case we need to add more links in the future

- [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)
- [ ] Manual QA for all new/changed functionality
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-05-08 12:19:08 -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
f64753f72b
Fleet UI: Fix unreleased VPP icon bug in self-service (#28926) 2025-05-07 14:51:07 -04:00
Jordan Montgomery
0be4e4db39
Add learn more links for Custom SCEP profile errors (#28905)
For #28870 

Adds the proper "learn more" links to these errors as shown in the
Custom SCEP renewal Figma
https://www.figma.com/design/R4HhMXjwTjRelmq3V6n8aS/-27984-Renew-certificates-from-custom-SCEP-certificate-authority-on-macOS?node-id=7304-92:
![Screenshot 2025-05-07 at 9 50
59 AM](https://github.com/user-attachments/assets/f11fb064-0fab-42ad-b8b0-c28705eda921)
![Screenshot 2025-05-07 at 9 51
16 AM](https://github.com/user-attachments/assets/c8822e03-71f7-4fb1-b323-02422f8497b2)


# 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] 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
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-05-07 12:20:58 -04:00
RachelElysia
37511be3a5
Fleet UI: Dashboard vuln bugginess (#28848) 2025-05-07 11:39:32 -04:00
RachelElysia
55f308663a
Fleet desktop: Self-service stale time causing previous searches not to recall API (#28910) 2025-05-07 11:39:10 -04:00
jacobshandling
07869b8ad4
Test RunScriptBatchPaginatedList (#28839)
## For #28159

### Follow-up to #28563 

- Add tests
- Misc cleanup

- [x] Added/updated automated tests

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-06 11:42:04 -07:00
jacobshandling
260b9ee6c3
UI: Fix condition for modal rendering (#28866)
## For #28861 

- Correctly interpret `0` as a valid team id for rendering the modal

![Screenshot 2025-05-06 at 10 04
46 AM](https://github.com/user-attachments/assets/50c890d5-8cd1-4452-b14f-864907ae53f3)

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

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-06 10:24:15 -07:00
Victor Lyuboslavsky
8ad9da71d6
Only allow distribution packages for bootstrap package (#28787)
For #27700 
When uploading bootstrap package for macOS setup experience, validate
that it is a Distribution package since that is required by Apple's
InstallEnterpriseApplication MDM command.


# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] 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
2025-05-06 11:02:13 -05:00
RachelElysia
5e05fd4dac
FE: Error messages in Storybook (#28640) 2025-05-06 09:20:03 -04:00
RachelElysia
cd7da066ac
Fleet UI: More pixel grace for zoomed out screensize (#28778) 2025-05-05 13:42:26 -04:00
RachelElysia
03a2198bf6
Fleet UI: Pass device user to use correct device user API (#28782) 2025-05-05 09:16:38 -04:00
jacobshandling
722f4a03d8
UI: Premium feature message when viewing GitOps Mode toggle on Fleet Free (#28744)
## For #28743 

<img width="1350" alt="Screenshot 2025-05-01 at 3 19 24 PM"
src="https://github.com/user-attachments/assets/1fb56a1b-ce8c-4e8c-b8b6-be1d23f91380"
/>

- [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>
2025-05-02 09:34:37 -07:00
jacobshandling
19c2e9197d
UI: Enable Integrations > Advanced save button in GitOps Mode (#28748)
## For #28747 

<img width="639" alt="Screenshot 2025-05-01 at 4 28 22 PM"
src="https://github.com/user-attachments/assets/0808d9fd-8866-4eb1-a84e-bef1efdd6919"
/>

- [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>
2025-05-02 09:32:34 -07:00
jacobshandling
dfa5573469
UI: Allow VPP token upload in GitOps mode (#28746)
## For #27941  


![ezgif-45eb8e193cea86](https://github.com/user-attachments/assets/4dee3f31-e087-4c3c-a101-3c228c5be38b)

- [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>
2025-05-02 09:31:36 -07:00
jacobshandling
dc490c236d
UI: Clean up various states on the Settings page (#28752)
## For #28266 

<img width="1912" alt="Screenshot 2025-05-01 at 9 48 06 PM"
src="https://github.com/user-attachments/assets/f8b66d86-79c5-4166-b328-4befc3bd51f9"
/>
<img width="1912" alt="Screenshot 2025-05-01 at 9 48 44 PM"
src="https://github.com/user-attachments/assets/c7ddf782-4cfe-45a3-b291-86a61d127264"
/>
<img width="1912" alt="Screenshot 2025-05-01 at 9 49 43 PM"
src="https://github.com/user-attachments/assets/354ccdb6-f7f9-41c6-aceb-b08d2c8b76f0"
/>
<img width="1912" alt="Screenshot 2025-05-01 at 9 51 42 PM"
src="https://github.com/user-attachments/assets/d9405f9b-1146-47ea-a18c-8047cbfecffd"
/>

- [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>
2025-05-02 09:14:30 -07:00
RachelElysia
57a2fb4341
Fleet UI: Add Self-service categories key and filtering (#28506) 2025-05-02 12:11:48 -04:00
jacobshandling
5c082647bc
UI: Support webhook logging configuration (#28737)
## For #28166 

- Support new webhook logging configuration
- Update and improve types

<img width="420" alt="Screenshot 2025-05-01 at 12 15 25 PM"
src="https://github.com/user-attachments/assets/0e624c6a-3d69-4c9d-a64b-2a27533e6d44"
/>

- [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>
2025-05-02 09:04:05 -07:00
RachelElysia
38c84be9b1
Fleet UI: Clean up Policies > Manage automation > Software options .tar.gz / missing version (#28770) 2025-05-02 11:59:45 -04:00
RachelElysia
12a14ea2a9
Fleet UI: Surface policy count triggering automatic installations (#28726) 2025-05-02 11:01:26 -04:00
RachelElysia
e5f56fc9fa
Fleet UI: VPP apps with self service shows correct install status (#28739) 2025-05-02 10:41:06 -04:00
RachelElysia
c68de7c953
Fleet UI: Upload and install tarball archives (#27839) 2025-05-02 10:17:09 -04:00
jacobshandling
1f1ef3f8ef
Update Google Calendar event bodies and relevant previews in the Fleet UI (#28715)
## For #27458 

- Update Calendar events modal:
  - not-configured preview image
  - preview modal
- Update Google calendar event body

### In Google Calendar:
<img width="453" alt="Screenshot 2025-04-29 at 3 48 38 PM"
src="https://github.com/user-attachments/assets/6f7a7486-ab8d-448c-8e12-3ab9ac32b5ac"
/>

### In Fleet UI:
<img width="736" alt="Screenshot 2025-04-30 at 4 03 28 PM"
src="https://github.com/user-attachments/assets/5850f062-3ae9-4523-9c02-e2c52c3586c0"
/>


<img width="736" alt="Screenshot 2025-04-30 at 4 04 57 PM"
src="https://github.com/user-attachments/assets/6f6104a1-b3e7-4d40-8af0-5c264f93f2dc"
/>


- [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-05-01 13:12:53 -07: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
Jordan Montgomery
87d05b3ed8
Display host certificate decimal serials in addition to hex for smaller values to match keychain (#28732)
For #27007 

# 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] 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
2025-05-01 14:29:11 -04:00
jacobshandling
2beed5a2ec
UI: Fix live policy response percentage rounding (#28719)
## For #27052 

- Use `round` instead of `ceil` and `floor`

<img width="144" alt="Screenshot 2025-04-30 at 10 20 09 PM"
src="https://github.com/user-attachments/assets/48a64558-6aca-4cd0-be9e-a526f9e6219d"
/>


- [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>
2025-05-01 10:03:23 -07:00
Sarah Gillespie
ee3872c2f5
Fix unreleased UI bug in org settings page (#28720) 2025-05-01 10:01:45 -05:00
RachelElysia
f0133008a1
Fleet UI: Fit placeholder text for host > software search (#28709) 2025-05-01 09:21:02 -04:00
RachelElysia
b737b3f681
Fleet UI: Prevent software card from disappearing when no vulns detected on software (#28708) 2025-05-01 09:20:33 -04:00
RachelElysia
9767cb5c91
Fleet UI: Fix host details > software vuln filter z index issue (#28655) 2025-05-01 09:19:22 -04:00
RachelElysia
55c7b54713
Fleet UI: Fix squished dropdown on safari (#28663) 2025-04-30 11:36:31 -04:00