Commit Graph
18926 Commits
Author SHA1 Message Date
Magnus JensenandSarah Gillespie d99afbe9aa Better api error for EUA manual macOS profile download (#34101)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33447 

User error:
<img width="1020" height="213" alt="image"
src="https://github.com/user-attachments/assets/daa90fa3-aa43-4734-9f29-4744ca6fb3e2"
/>

As far as I could tell it was not possible to customize the error
message shown when installing the failing profile.
We have some code that mentions iOS/iPadOS and after replicating, it
seems it does not work the same for macOS.


# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [x] Added/updated automated tests

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

---------

Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
2025-10-14 16:33:12 -03:00
Magnus Jensen 1ed190b6ce fix missing space in tooltip for windows and linux locked tags (#34197)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->

Saw this small missing space when doing the engineering test plan run
for lost mode #30889
2025-10-14 13:25:07 -03:00
Ian Littman 13c98e158f Don't show edit option for host vitals labels, error if landing on edit UI for a host vitals label (#34139)
Fixes #34010. Also switches the landing page on edit error to the labels
list from hosts filtered by the label, since the next step is likely
"delete the label and add it back."

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [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
2025-10-14 10:52:03 -05:00
Ian Littman 14b3350eaa Fix icon key name in "View YAML" modal (#34140)
Fixes #34060.

- [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
2025-10-14 10:18:29 -05:00
Carlo f42e45eeec Hotfix 34099 merge (#34191)
Fixes main for bad merge related to #34099 causing [build
failures](https://github.com/fleetdm/fleet/actions/runs/18499765354/job/52713214491?pr=34186#step:14:182).
2025-10-14 11:08:44 -04:00
Tim Lee 2b18caaee1 Add Jetbrains plugins (#34024) 2025-10-14 09:01:45 -06:00
RachelElysia f6489356fc Fleet UI: Fix some unreleased bugs for 4.75 (#34098) 2025-10-14 10:53:32 -04:00
Jordan MontgomeryandGabriel Hernandez b1e0bdf684 Wait for VPP installs in post-DEP release worker (#34154)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33700

No changes file as the initial commit included one for the feature

# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

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

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-10-14 10:34:29 -04:00
Magnus Jensen bdb7673259 Add lost mode behaviour for iOS/iPadOS (#33805)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33416

It's been decided to ship the feature and in the guide mention the apple
bug, that we are currently tracking.
[Slack
🧵](https://fleetdm.slack.com/archives/C03C41L5YEL/p1760448150025089?thread_ts=1760433366.092499&cid=C03C41L5YEL)

# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [x] Added/updated automated tests

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

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

## Summary by CodeRabbit

* New Features
  * Added Lost Mode support to lock iOS and iPadOS devices.
  * Added ability to disable Lost Mode to unlock iOS/iPadOS devices.
* Improvements
* More consistent lock/unlock experience across macOS, iOS/iPadOS,
Windows, and Linux, with clearer status and activity updates.
* iOS/iPadOS now shows pending unlock status while Lost Mode disable is
in progress.
* Tests
* Added comprehensive end-to-end tests covering lock/unlock/wipe across
Apple, Windows, and Linux devices.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-14 11:30:05 -03:00
Gabriel Hernandez 8977037ff1 add UI to support lock and unlock for ios and ipad devices (#33869)
**Related issue:** Resolves #33417

This adds the UI to support locking and unlocking ios and ipad devices.
This allows the users with the correct permission to lock and unlock
these devices from the host details page host actions dropdown. It also
adds these activities to the upcoming activities feed.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-14 15:03:21 +01:00
Carlo 7382a0ef7f Extract metadata, detect platform for no-payload packages (#34099)
Implements #33750, also related to #33980
2025-10-14 09:57:15 -04:00
Carlo cc7062f8f0 Add filetype support and validation for .sh and .ps1 scripts (#33980)
Implements #33749. This PR is mostly just adding filetypes in key places and tests to catch any potential future regressions.
2025-10-14 09:56:53 -04:00
Sam Pfluger e19879e2ac Move dns-management.md to confidential repo (#34178)
https://github.com/fleetdm/confidential/pull/12603/files
2025-10-13 16:43:03 -06:00
Ian Littman bbc36bbc83 Fall back to app filename when ingesting macOS apps that have no display name/bundle name and run.sh as the bundle executable (#34176)
Fixes #34157. Seen on Steam games, which also don't have a bundle ID.

# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] QA'd all new/changed functionality manually
2025-10-13 17:33:20 -05:00
Sam Pfluger 4156aec450 Revert codeownership change (#34175) 2025-10-13 16:24:58 -06:00
Dante Catalfamo 23bef25ab3 Add hash_sha256 to list hosts software response (#33657)
**Related issue:** Resolves #33410

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-13 13:43:36 -05:00
fleet-releaseandmostlikelee 0c3f9d7d3d Update Fleet-maintained apps (#34155)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2025-10-13 13:46:39 -04:00
Noah Talerman 4de509b6af Custom OS settings: Fleet limitation not a Windows MDM limitation (#34156) 2025-10-13 12:46:57 -04:00
Robert Fairburn c1836818bd cloudflare-handbook (#33916) 2025-10-13 11:18:27 -05:00
Allen Houchins b96c75021b Update CODEOWNERS (#34158)
- Updating handbook/customer-success to unblock Zay's team
2025-10-13 11:17:36 -05:00
Eric 38bef2b6f2 Website: (config builder) Add Windows Update settings (#34112)
Related to: https://github.com/fleetdm/fleet/issues/33293

Changes:
- Added settings related to Windows Update to the configuration builder.
- Updated the configuration builder to support custom validation and
error messages
- Updated the configuration builder to include the description of
settings in the form.
2025-10-13 10:19:08 -05:00
Victor Lyuboslavsky 9cc7a02209 Fixed MySQL deadlocks when multiple hosts are updating their certificates in host vitals at the same time. (#34119)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34116

# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [ ] Added/updated automated tests (see below)

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

Local test that reproduces the issue and verifies fix. Not checked in.

```go
// testAggressiveDeadlockReproduction creates an aggressive test scenario to reproduce
// deadlocks that occur when multiple hosts update certificate sources concurrently.
//
// This test bypasses the retry logic to actually detect deadlocks and prove the fix works.
//
// Results without fix: ~1100 deadlocks (22% rate) across 50 iterations
// Results with fix: ~160 deadlocks (3% rate) - 86% improvement
func testAggressiveDeadlockReproduction(t *testing.T, ds *Datastore) {
	ctx := context.Background()

	// Create hosts and certificates
	numHosts := 30
	hosts := make([]*fleet.Host, numHosts)
	for i := 0; i < numHosts; i++ {
		host, err := ds.NewHost(ctx, &fleet.Host{
			DetailUpdatedAt: time.Now(),
			LabelUpdatedAt:  time.Now(),
			PolicyUpdatedAt: time.Now(),
			SeenTime:        time.Now(),
			OsqueryHostID:   ptr.String(fmt.Sprintf("deadlock-test-host-%d", i)),
			NodeKey:         ptr.String(fmt.Sprintf("deadlock-test-host-%d-key", i)),
			UUID:            fmt.Sprintf("deadlock-test-host-%d-uuid", i),
			Hostname:        fmt.Sprintf("deadlock-host-%d", i),
		})
		require.NoError(t, err)
		hosts[i] = host
	}

	// Create certificates for each host
	certsPerHost := 15
	allCertIDs := make([][]uint, numHosts)

	for i := 0; i < numHosts; i++ {
		certs := make([]*fleet.HostCertificateRecord, certsPerHost)
		for j := 0; j < certsPerHost; j++ {
			certTemplate := x509.Certificate{
				Subject: pkix.Name{
					Country:            []string{"US"},
					CommonName:         fmt.Sprintf("host%d-cert%d.test.com", i, j),
					Organization:       []string{"Test Org"},
					OrganizationalUnit: []string{"Engineering"},
				},
				Issuer: pkix.Name{
					Country:      []string{"US"},
					CommonName:   "issuer.test.com",
					Organization: []string{"Test Issuer"},
				},
				SerialNumber:          big.NewInt(int64(i*1000 + j)),
				KeyUsage:              x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
				ExtKeyUsage:           []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
				SignatureAlgorithm:    x509.SHA256WithRSA,
				NotBefore:             time.Now().Add(-time.Hour).Truncate(time.Second).UTC(),
				NotAfter:              time.Now().Add(24 * time.Hour).Truncate(time.Second).UTC(),
				BasicConstraintsValid: true,
			}

			cert := generateTestHostCertificateRecord(t, hosts[i].ID, &certTemplate)
			cert.Source = fleet.SystemHostCertificate
			certs[j] = cert
		}

		// Insert certificates
		err := ds.UpdateHostCertificates(ctx, hosts[i].ID, hosts[i].UUID, certs)
		require.NoError(t, err)

		// Load certificate IDs
		loadedCerts, _, err := ds.ListHostCertificates(ctx, hosts[i].ID, fleet.ListOptions{})
		require.NoError(t, err)
		require.Len(t, loadedCerts, certsPerHost)

		certIDs := make([]uint, certsPerHost)
		for j, cert := range loadedCerts {
			certIDs[j] = cert.ID
		}
		allCertIDs[i] = certIDs
	}

	// Run aggressive deadlock test
	totalDeadlocks := 0
	iterations := 50

	for iter := 0; iter < iterations; iter++ {
		t.Logf("Iteration %d/%d", iter+1, iterations)

		type result struct {
			txIdx int
			err   error
		}

		numTransactions := 100 // Many concurrent transactions
		resultsCh := make(chan result, numTransactions)

		// Launch concurrent transactions
		for txIdx := 0; txIdx < numTransactions; txIdx++ {
			go func(idx int) {
				hostIdx := idx % numHosts
				certIDs := allCertIDs[hostIdx]

				// Build UNSORTED source records to trigger deadlocks
				// Reverse order for even transactions to create lock conflicts
				toReplace := make([]*fleet.HostCertificateRecord, len(certIDs))
				for i := range certIDs {
					actualIdx := i
					if idx%2 == 0 {
						actualIdx = len(certIDs) - 1 - i
					}

					toReplace[i] = &fleet.HostCertificateRecord{
						ID:       certIDs[actualIdx],
						Source:   fleet.UserHostCertificate,
						Username: fmt.Sprintf("user%d", idx),
					}
				}

				// Call replaceHostCertsSourcesDB directly (no retry)
				err := ds.withTx(ctx, func(tx sqlx.ExtContext) error {
					return replaceHostCertsSourcesDB(ctx, tx, toReplace)
				})

				resultsCh <- result{txIdx: idx, err: err}
			}(txIdx)
		}

		// Collect results
		iterDeadlocks := 0
		for i := 0; i < numTransactions; i++ {
			res := <-resultsCh
			if res.err != nil {
				if strings.Contains(res.err.Error(), "Deadlock") || strings.Contains(res.err.Error(), "deadlock") {
					iterDeadlocks++
				} else {
					require.NoError(t, res.err, "Transaction %d unexpected error", res.txIdx)
				}
			}
		}

		if iterDeadlocks > 0 {
			t.Logf("  Deadlocks in iteration %d: %d/%d transactions", iter+1, iterDeadlocks, numTransactions)
			totalDeadlocks += iterDeadlocks
		}
	}

	// Report results
	deadlockRate := float64(totalDeadlocks) / float64(iterations*100) * 100
	t.Logf("\n=== DEADLOCK TEST RESULTS ===")
	t.Logf("Total deadlocks: %d across %d iterations", totalDeadlocks, iterations)
	t.Logf("Deadlock rate: %.1f%%", deadlockRate)
	t.Logf("\nExpected without fix: ~1100 deadlocks (22%% rate)")
	t.Logf("Expected with fix: ~160 deadlocks (3%% rate)")

	if totalDeadlocks > 500 {
		t.Fatalf("High deadlock count suggests fix is not applied or not working")
	}
}
```

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

## Summary by CodeRabbit

- Bug Fixes
- Resolved rare database deadlocks when multiple hosts update
certificates simultaneously, improving reliability of host vitals
updates.
- Reduced unnecessary delete operations during certificate updates to
lower lock contention and improve stability under load.
- Standardized processing of certificate sources to ensure consistent
behavior across concurrent updates.
- Overall improvements result in smoother certificate synchronization
without user-facing changes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-13 09:48:32 -05:00
Marko Lisica 0c5c280eaa Update wifi/vpn guide: note that CN support 64 characters (#34148)
Related to:

- #33261
2025-10-13 09:56:53 -04:00
Gabriel Hernandez c843c1e3b5 fix copy for company owned unenrollment modal (#34026)
**Related issue:** Resolves #33807

This is a quick fix to show the copy correctly for company enrolled
unenrollment modal.

We also improve the naming of the enrollment status checks
2025-10-13 12:19:10 +01:00
Gabriel Hernandez 0aa6a2ca16 update activities for installing software via ios/ipad (#34027)
**Related issue:** Resolves #33703

quick change to UI to support ios and ipad setup experience install
software activity
2025-10-13 12:18:28 +01:00
Gabriel Hernandez 0d62636c75 allow file protocol in org contact url in UI (#34078)
**Related issue:** Fixes #32902

This allows file protocol urls when setting a support URL via the UI.

- [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-10-13 12:18:07 +01:00
fleet-releaseandmostlikelee 742631a8f3 Update Fleet-maintained apps (#34145)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2025-10-12 13:21:17 -04:00
Luke HeathandNoah Talerman c8475639e5 Update why-this-way.md with customer promise details (#33764)
Added a section on customer promises and t-shirt sizing for capacity
planning.

This is a TODO coming out of yesterday's t-group meeting.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-10-11 15:40:13 -05:00
Victor Lyuboslavsky aef9b8400c Added terraform files for Signoz OTEL backend. (#34058)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32331 

This PR allows us to run loadtest with SigNoz OTEL backend by adding
`-var=enable_otel=true`
SigNoz is deployed via Helm chart.

Enhancements needed (in future PR):
- put SigNoz UI behind VPN
- combine the new eks-vpc with shared fleet-vpc
- make SigNoz shared, so multiple loadtests use the same instance? (But
what about updating to it to latest version?)

Next steps:
- Enable SigNoz in Dogfood environment
- SigNoz by default [keeps 15 days of logs and
traces](https://signoz.io/docs/userguide/retention-period), which is
quite a bit. How much would that cost us and should we reduce it?

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

## Summary by CodeRabbit

- New Features
- Optional OpenTelemetry tracing with SigNoz via a new enable_otel flag.
- Conditional deployment of a SigNoz stack (managed EKS, storage,
Helm-based apps) with internal OTLP collector endpoint.
- New outputs to retrieve OTLP endpoint, cluster name, and a kubectl
configuration command.

- Documentation
  - Added guidance for deploying and using SigNoz with load testing.
  - Updated examples to include -var=enable_otel=true.

- Chores
- Introduced required providers to support Helm and Kubernetes
resources.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-10 21:53:04 -05:00
Dante Catalfamo 56e12f4aca Fix WhatsApp and VS Code icons not displaying correctly (#33887)
**Related issue:** Resolves #28388

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [x] QA'd all new/changed functionality manually
2025-10-10 16:57:46 -07:00
Eric 1799c824b1 Website: Update Android proxy endpoints exits (#34135)
Changes:
- Updated the website's Android proxy endpoints to use action2 exit
signals.
2025-10-10 17:11:42 -05:00
Zach Wasserman bfd0758922 Refine system_profiler table examples and description (#34053)
Updated examples in system_profiler table to reflect correct JSON
extraction paths and added new example for collecting audio devices.
Enhanced the table description for clarity.
2025-10-10 15:56:49 -04:00
Rachael Shaw 3be8a90575 Handbook: Add note about adding milestone to API design PRs (#34100)
This will make it easier to find unmerged PRs to a docs release branch.
2025-10-10 15:52:58 -04:00
Sarah Gillespie a5973610d7 Fix secrets updated nil pointer bug in batch profiles flow (#34102) 2025-10-10 13:44:58 -05:00
Raiven Williams 6c684f9a65 Update fleet-4.74.0.md typo in Highlights (#34045)
Updated the type from intrucutions → instructions
2025-10-10 13:32:41 -05:00
fleet-releaseandmostlikelee aa5e749a97 Update Fleet-maintained apps (#34090)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2025-10-10 13:22:06 -04:00
Mason Buettner e78ad1b9ca Fix typo in REST API "Request certificate" (#34092)
Changes:
 - Changed "isseud" to "issued" in `idp_client_id`.
2025-10-10 12:06:02 -05:00
Jarolin Vargas 5e7ba53cca Update README.md (#34093) 2025-10-10 10:35:36 -06:00
Magnus Jensen 897350079c Fix typo in install software preview for windows and linux (#34037) 2025-10-10 09:21:31 -03:00
Lucas Manuel Rodriguez e85d820260 Added migration to clear the platform field on all labels (#34028)
Resolves #33245 and #33065.

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [X] Added/updated automated tests

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

## 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`).
2025-10-10 08:24:24 -03:00
Jorge Falcon 5a0b4221a1 Loadtest osquery perf Github action extra_flags fix (#34075) 2025-10-09 18:03:29 -04:00
Lucas Manuel Rodriguez 215fb90d35 Remove unclear item from pull_request_template (#34029)
Context:
https://fleetdm.slack.com/archives/C019WG4GH0A/p1759191019453799
2025-10-09 17:38:41 -03:00
Luke Heath aa834ae0c7 Update contributing docs codeowners to reflect new structure (#34070) 2025-10-09 15:26:18 -05:00
Magnus Jensen 8be42dd326 Fix VPP typo in product groups (#34016) 2025-10-09 15:12:05 -05:00
Jorge Falcon c0f753cb83 Updated permissions for GHA role - load test environment (#34059)
* Fixes missing STS permission on the load test environment GHA role
2025-10-09 15:10:52 -04:00
Noah Talerman d8a4ba0280 GitOps migration tool (#34051)
- The script works with any path you pass to the script
- Software YAML doesn't support `name` yet
- Clean up section headers
2025-10-09 14:00:54 -04:00
Pedro Borges b27d60faf5 Fix spelling error in "IT and Enablement" (#33988) 2025-10-09 10:18:11 -06:00
Juan Fernandez a6d1bd1e81 Added link component to live query results (#34019)
**Related issue:** Resolves #33249 

Added link component shown in the Host column to the host details page.
2025-10-09 12:15:13 -04:00
Jonathan Katz 0eae33cb91 Skip cpe generation for nested apps of iTerm2 (iTerm2ImportStatus) (#32733)
Fixes: #31501. Since there is no existing CPE for iTerm2ImportStatus,
skip it to prevent false negatives.
# Checklist for submitter
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-09 12:13:13 -04:00
Isabell Reedy 9d21854cc6 Update open-positions.yml to remove Demand Gen (#33992) 2025-10-09 09:43:48 -06:00