Add macOS app filter to My device software#48637
Conversation
Expose the existing "Applications" / "Full inventory" software filter on the Fleet Desktop My device Software tab for macOS hosts. The filter now defaults to Applications for macOS, sends `macos_applications` to the device software API, and keeps that query param during pagination. Updated table tests cover rendering and URL behavior on My device and non-macOS hosts.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #48637 +/- ##
==========================================
- Coverage 67.99% 67.99% -0.01%
==========================================
Files 3678 3678
Lines 233791 233789 -2
Branches 12451 12303 -148
==========================================
- Hits 158968 158966 -2
Misses 60496 60496
Partials 14327 14327
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Warning
- Copilot's review of this pull request may be incomplete because some of the changed files are excluded by your Copilot content exclusion settings. See Excluding content from Copilot for details.
Pull request overview
This PR updates the host/device software table UI so macOS “My device > Software” supports the existing Applications vs Full inventory filter, defaulting macOS to Applications and preserving the macos_applications query param during pagination.
Changes:
- Show the /Applications filter on the My device page for macOS hosts.
- Default
macosApplicationsFilterfor macOS hosts (including My device) and passmacos_applicationsto the device software API query. - Expand/update table tests to cover rendering and URL pagination behavior for My device and non-macOS platforms.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| frontend/pages/hosts/details/cards/Software/HostSoftwareTable/HostSoftwareTable.tsx | Removes My device gating so the Applications/Full inventory dropdown can render for macOS on My device and keeps macos_applications in pagination query params. |
| frontend/pages/hosts/details/cards/Software/HostSoftwareTable/HostSoftwareTable.tests.tsx | Adds/updates tests for rendering the filter on My device and ensuring macos_applications is preserved/omitted appropriately on pagination. |
| frontend/pages/hosts/details/cards/Software/HostSoftware.tsx | Applies macOS defaulting for macosApplicationsFilter regardless of page context and forwards macos_applications into the device software query key/API params. |
Files excluded by content exclusion policy (1)
- changes/my-device-applications-filter
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
WalkthroughThe macOS Applications filter is now available on the Fleet Desktop My device > Software tab. macOS filter state defaults to Applications when unspecified, is included in device software requests, and remains present during pagination. The filter is omitted for non-macOS platforms. Tests cover filter visibility and pagination query parameters. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Expose the existing "Applications" / "Full inventory" software filter on the Fleet Desktop My device Software tab for macOS hosts. The filter now defaults to Applications for macOS, sends
macos_applicationsto the device software API, and keeps that query param during pagination. Updated table tests cover rendering and URL behavior on My device and non-macOS hosts.Related issue: Resolves #48636
Checklist for submitter
If some of the following don't apply, delete the relevant line.
Changes file added for user-visible changes in
changes/,orbit/changes/oree/fleetd-chrome/changes.See Changes files for more information.
Input data is properly validated,
SELECT *is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters.Timeouts are implemented and retries are limited to avoid infinite loops
If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes
Testing
Added/updated automated tests
Where appropriate, automated tests simulate multiple hosts and test for host isolation (updates to one hosts's records do not affect another)
QA'd all new/changed functionality manually
For unreleased bug fixes in a release candidate, one of:
Database migrations
COLLATE utf8mb4_unicode_ci).New Fleet configuration settings
If you didn't check the box above, follow this checklist for GitOps-enabled settings:
fleetctl generate-gitopsfleetd/orbit/Fleet Desktop
runtime.GOOSis used as needed to isolate changesSummary by CodeRabbit
New Features
Bug Fixes