Commit graph

15743 commits

Author SHA1 Message Date
Eric
c4e8f83a70
Website: update Zapier webhook (#26741)
ChangeS:
- updated the `receive-from-zapier` webhook's expected inputs when
receiving a `receive-new-customer-data` event
2025-02-28 19:44:32 -06:00
Victor Lyuboslavsky
ef415f23fb
Added missing Android host details (#26740)
For #26219

Frontend wasn't displaying the right Android page due to missing
details.

# Checklist for submitter

- [x] Manual QA for all new/changed functionality
2025-02-28 19:37:16 -06:00
Rachael Shaw
9fa6c2276e
Fix 404 link on GitOps settings page (#26739)
Add redirect for "Learn more" link on
`/settings/integrations/change-management`
2025-02-28 18:41:01 -06:00
Sam Pfluger
e4bcc78ed0
Update README.md (#26723)
https://github.com/fleetdm/confidential/pull/9786
2025-02-28 17:13:01 -06:00
Sam Pfluger
1425b85861
Update hiring steps (#26737) 2025-02-28 17:04:39 -06:00
Sarah Gillespie
2944d131be
Fix unreleased UI bugs related to host certificates issue (#26732) 2025-02-28 17:03:43 -06:00
Harrison Ravazzolo
3c2c3c6979
update in-app guide for windows mdm (#26612)
Deploying Windows MDM with a customer and ran into some snags and
documentation diff. Updating here but also plan to write and article
about this in greater detail.

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-02-28 14:55:39 -08:00
Victor Lyuboslavsky
46719c9fb2
Auto-generate and check Android schema.sql (#26720)
For #26218 

This is an infrastructure change. No functional feature changes.
2025-02-28 16:30:40 -06:00
Luke Heath
658330d4f4
Enable Android in dogfood (#26735) 2025-02-28 16:26:11 -06:00
Rachael Shaw
ddd2834dc8
Sentence case fix in SMTP options form (#26730)
"Username and Password" -> "Username and password"
2025-02-28 15:29:39 -06:00
Scott Gress
3794fb5d67
allow disabling other workflows (#26717)
For #26711 

# Details

Fix for unreleased bug where you are enable to disable "Other
workflows", because after changing the slider from "enabled" to
"disabled" the save button would also be disabled.

The fix (easier to see [with whitespace disabled in the
diff](https://github.com/fleetdm/fleet/pull/26717/files?w=1)) is to pull
the PoliciesPaginatedList out of the `<div>` that gets the `__disabled`
class applied to it when the slider is turned off, and instead disable
it separately using its `disabled` property.

## Screenshota

Before (note disabled "save" button):
<img width="617" alt="image"
src="https://github.com/user-attachments/assets/f2e07969-7d05-4947-b94f-fb4ab144d348"
/>

After:
<img width="620" alt="image"
src="https://github.com/user-attachments/assets/ba104a48-bc68-4e1d-a05c-d477fff7af7a"
/>
2025-02-28 15:22:11 -06:00
Victor Lyuboslavsky
ac6885a865
Updated custom lint rules to include Android datastore. (#26722)
For #26218 

### Observations
The custom lint rules don't catch many issues. For example: this checks
for an illegal use of reader/writer in a function
(`containsIllegal(m["fn"]))`), but if the reader/writer code is
refactored into a different function, then this check will not fail.

Also, the rules lack tests, making them hard to maintain and potentially
irrelevant after code is refactored.
2025-02-28 15:08:39 -06:00
Victor Lyuboslavsky
b21f54d648
Added signup_token for Android signup callback authentication. (#26681)
For #26218

- Added signup_token authentication for Android enterprise callback and
fixed API path to match API doc

# Checklist for submitter

- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-02-28 15:08:04 -06:00
Victor Lyuboslavsky
3d9072981b
Delete Android PubSub topic when deleting enterprise. (#26676)
For #26218

This is a dev helper feature (since it will be implemented in
fleetdm.com). It fixes the issue of stale PubSub topics. Having stale
PubSub topics around may cause extra traffic/errors on dev server.

- [x] Manual QA for all new/changed functionality
2025-02-28 15:06:52 -06:00
George Karr
ced7332a1d
Cleaning up publish release and adding chart version increment (#26535)
For #23680
2025-02-28 15:03:33 -06:00
Mike McNeil
78b2a6f12f
Update Reference-Architectures.md (#26702) 2025-02-28 14:35:05 -06:00
Victor Lyuboslavsky
01757faf56
It may take up to 2 hours to get Apple encryption keys. (#25440)
It may take up to 2 hours to get Apple encryption keys.
- 1 hour for detailed query
- 1 hour for cleanups_then_aggregation.verify_disk_encryption_keys job
2025-02-28 15:10:59 -05:00
Rachael Shaw
bf276cdfcd
Fix GitOps mode 404 (#26718)
Add redirect for https://fleetdm.com/learn-more-about/ui-gitops-mode
2025-02-28 13:08:16 -06:00
Eric
044e59c7e7
Website: improve speed of query generator (#26701)
Changes:
- Updated the prompt helper to accept a new input: `systemPrompt`, if
provided and a supported baseModel is selected, the system prompt will
be included in the Open AI API request along with the prompt.
- Updated the models used by the query generator to improve the speed of
query generation.
2025-02-28 12:28:15 -06:00
Sam Pfluger
ce9c7cdc4a
Handbook/sales#change-a-contacts-org (#26712)
- Update and link account name
2025-02-28 12:00:14 -06:00
Scott Gress
b7d320250e
Fix height of masthead on device details page (#26707)
For #26697 

This was using the wrong class (maybe outdated?) for the masthead,
leading to incorrect margins and too much height. Changing it to use the
same class as the main Fleet nav fixes it.

Before:
<img width="1006" alt="image"
src="https://github.com/user-attachments/assets/2c3171de-4d63-4817-a185-b1f492c230b6"
/>

After:
<img width="1008" alt="image"
src="https://github.com/user-attachments/assets/cc4d9237-f82d-4b2a-b8b7-178553d97e7e"
/>
2025-02-28 11:13:46 -06:00
Sam Pfluger
c289fc8b05
Fix broken link (#26708) 2025-02-28 10:54:06 -06:00
Scott Gress
36b45b857f
Fix privacy_preferences table for ChromeOS (#26620)
For #25479 

# 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 the `privacy_preferences` table results generator for the
Chrome Extension. The root cause was that we were attempting to return
boolean values directly to sqlite, which doesn't have a native boolean
type. The fix is to coerce booleans to "1" or "0" as we do for other
tables in the extension.

The _proximate_ cause of the issue was that the warnings generated at
the db level (in this case about not being able to handle the `null`
values that sqlite was coercing booleans to) are not being handled
correctly. I'll tackle this in a separate PR as it's a little more
complicated to debug and fix.

## Testing

On a Chromebook, was able to run a live `select * from
privacy_preferences` query with results:
<img width="1706" alt="image"
src="https://github.com/user-attachments/assets/7dcc4410-70fd-4381-842d-fd06d43b94ae"
/>
<img width="1708" alt="image"
src="https://github.com/user-attachments/assets/db783e7b-3351-424c-82e3-b7e80c1d999d"
/>

Added automated test that fails on main and passes on this branch.
2025-02-28 09:52:00 -06:00
Ian Littman
e3b12ab0f1
Add missing changes file for PowerShell CVE fix (#26666) 2025-02-28 09:33:02 -06:00
Sam Pfluger
89683e4b21
Change send an order form responsibility (#26680) 2025-02-28 08:44:46 -06:00
RachelElysia
37b54d1c38
Fleet UI: Team user table overflow unreleased (#26684) 2025-02-28 09:35:53 -05:00
RachelElysia
45015b01e8
Fleet UI: Update hover and focus states for dropdowns and inputfields (#26506) 2025-02-28 08:46:00 -05:00
RachelElysia
a3e92d0f93
Fleet UI: Fix policy software automation fail to report as failing (#26044) 2025-02-28 08:45:33 -05:00
Scott Gress
f7e4a39915
Add help system to Makefile + FDM command (#25028) 2025-02-28 07:42:32 -06:00
Jahziel Villasana-Espinoza
f64bd5cf28
fix: parse out update section of CPE, fix CVE-2024-12254 Windows false positive (#26634)
For #25882
For #26615 

# 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
- [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-02-28 08:12:19 -05:00
Mike McNeil
ad9b5f9ee0
Update homepage.ejs -- Change it to what it will look like if we brin… (#26683)
…g back the ticker

Update homepage.ejs -- Change it to what it will look like if we bring
back the ticker
2025-02-27 18:56:37 -06:00
Swapnil Surendra Jangam
36a3434e47
Update queries.yml (#26682)
Softwares query for macOS corrected in Vitals. Was showing query for
linux.

# 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. -->
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Manual QA for all new/changed functionality

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-02-27 18:16:46 -06:00
Shantnu Kumar
c4d612ae9b
chore: lowercase Succession in security.md page (#26643)
Lowercase Succession in security.md page

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [ ] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [ ] 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
- For Orbit and Fleet Desktop changes:
- [ ] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/fleetd-development-and-release-strategy.md)).
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2025-02-27 17:36:55 -06:00
Ian Littman
201762b3e7
Add table default encodings/charsets to all migrations missing them, retrofit existing DB schema (#26670)
For #25353.

This both fixes new installs going forward (in which case the final
migration is a no-op) and cleans up existing installs that have the
wrong collations (in the new migration).

# 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] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual QA for all new/changed functionality
2025-02-27 17:25:20 -06:00
Eric
40aeaf7c76
Website: Update generated campaign names in receive-from-zapier webhook (#26678)
Closes: #26637

Changes:
- Updated timestamps in names of generated campaign names.
2025-02-27 17:17:42 -06:00
Jahziel Villasana-Espinoza
fc1c901238
fix: don't fail when there are no VPP app version updates (#26677)
> For #26675

# 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] 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-02-27 17:00:55 -05:00
Victor Lyuboslavsky
8f1626303a
Added custom auth for PubSub push endpoint. (#26664)
For #26219 

Need to get in this security change for the RC

- Added auth (token stored in `mdm_config_assets`) for PubSub endpoint
- unknown notification types, including `test` are not authenticated
- Status reports for deleted devices are not authenticated -- no DB
changes are done for these since they only happen when we disable MDM
right now

# Checklist for submitter

- [x] Manual QA for all new/changed functionality
2025-02-27 15:16:32 -06:00
Lucas Manuel Rodriguez
74f7548fd1
Add workflow to update timestamp on new repository (#26635)
For #26482.
2025-02-27 18:02:42 -03:00
Victor Lyuboslavsky
1c80d280cc
Fixed OTA test (#26673) 2025-02-27 14:59:33 -06:00
Lucas Manuel Rodriguez
5e453b7ca6
Check for timestamps on the new TUF repository (#26638)
For #26483.
2025-02-27 17:59:11 -03:00
Lucas Manuel Rodriguez
df5461cb4c
Remove unused code (from Fleet's sandbox implementation) (#26645)
Removing unused code and APIs (these APIs and code were used by "Fleet
Sandbox" which doesn't exist anymore).
2025-02-27 17:37:56 -03:00
Victor Lyuboslavsky
67b72764c5
Added Android activity and better handling of deleted users. (#26640)
For #26218

- Added `users_deleted` table to track user actions if the user was
actually deleted.
- Added enable/disable Android MDM activities

Note: I could not auto-generate fleet.Service mock because it has issues
with methods that don't return anything. I ended up using testify mock
instead.

# Checklist for submitter

- [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-02-27 14:19:15 -06:00
Gabriel Hernandez
a4a218282d
fix for getting android enrollment url (#26667)
quick fix for getting android enrollment url
2025-02-27 20:12:26 +00:00
RachelElysia
f2ad368463
Fleet UI: Hide auto install tag if null (#26660) 2025-02-27 15:09:05 -05:00
Gabriel Hernandez
0da4826480
Feat UI byod landing page (#26592)
For #26211 and #26210

Add Android to byod enrollment landing page. this includes:

**new android section in add hosts modal:**


![image](https://github.com/user-attachments/assets/f951df0c-4654-4434-8c95-8b57634d4921)

**messaging when visiting from non android, ios, ipad device:**


![image](https://github.com/user-attachments/assets/169903a9-8d5e-4e3b-9b78-378a0e791b22)

**enroll into android mdm UI:**


![image](https://github.com/user-attachments/assets/79c9c116-e003-4a80-b0e9-8fbe8775a82c)

**various error states (secret is invalid, android or mac os mdm not
enabled):**


![image](https://github.com/user-attachments/assets/bc0035ac-b2ed-47e5-8e25-8716fc642e70)


![image](https://github.com/user-attachments/assets/87b8ca87-3352-47fe-8dbf-1bc2a49553b1)


![image](https://github.com/user-attachments/assets/5a378f5f-84d3-4738-aab3-0f68760d317d)

- [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-02-27 19:35:42 +00:00
George Karr
b47e4a51ce
Drop support for macOS 13 (#26525)
Drop support for macOS 13 and no longer need to validate nudge updates
2025-02-27 13:34:59 -06:00
Gabriel Hernandez
44f2858769
hook up SSE for UI android sse (#26656)
For #26207

add server side event setup for the UI when turning on android MDM.

- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
2025-02-27 18:45:41 +00:00
Scott Gress
973fe46c5e
Add pagination to manage automations (#26414)
For #23243 

# Checklist for submitter

<!-- 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)
- [x] Manual QA for all new/changed functionality

## Details

This PR updates the policy Manage Automations modals to support
pagination. Previously, these modals received a list of policies from
the main Manage Policies page, which is itself paginated, so that a user
could only add automations to whatever policies were currently listed on
the Manage Automations page. This PR does some refactoring via the
creation of a new PaginatedList component which:

* accepts a `fetchPage` property it can call to get a page of data, 
* renders the data in a list with checkboxes and optional custom markup
(e.g. dropdowns)
* keeps track of changed ("dirty") items in the list, even across page
changes
* allows parent components to access the list of dirty items via a React
`ref`

For this specific use case, there's also a new `PoliciesPaginatedList`
which implements the `fetchPage` for getting a page of policies, and
adds Save and Cancel buttons. Each of the updated modals uses
`PoliciesPaginatedList` to replace its current code for rendering
policies in a list, and delegates much of the logic around change
tracking to the new components.
2025-02-27 12:43:38 -06:00
Sarah Gillespie
0527b1c11f
Add certificates to host vitals for macOS, iOS, iPadOS (#26663) 2025-02-27 12:19:02 -06:00
Sarah Gillespie
f43fb9538a
Merge branch 'main' into feat-23235-host-certificates 2025-02-27 11:41:34 -06:00