Add Logi Tune as a macOS FMA - #47399
Conversation
Add support for Logi Tune: include a Homebrew input manifest and install/uninstall scripts, add a transformer to override the installer URL to Logitech's enterprise PKG (and set SHA256 to "no_check"), and register the app in outputs. Also add darwin output refs with version, installer URL and embedded script refs, update apps.json to list Logi Tune, and add a frontend icon component + PNG asset and icon map entry. The PKG override is used because the Homebrew DMG contains a GUI-only installer without a silent mode; version is still sourced from Homebrew.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #47399 +/- ##
========================================
Coverage 67.17% 67.17%
========================================
Files 3249 3251 +2
Lines 227365 227574 +209
Branches 11709 11709
========================================
+ Hits 152728 152879 +151
- Misses 60873 60907 +34
- Partials 13764 13788 +24
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.
Pull request overview
Adds a new Fleet-maintained app (FMA) for Logi Tune (macOS), including frontend icon support and maintained-app manifests/scripts, with a Homebrew ingest override to use Logitech’s enterprise PKG.
Changes:
- Added Logi Tune icon component and mapped it in the software icon registry.
- Added maintained-app Homebrew input manifest plus install/uninstall scripts, and registered Logi Tune in
apps.json. - Added Homebrew external ref transformer to override the installer URL/SHA, and updated the macOS validator to tolerate expected version mismatches.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/pages/SoftwarePage/components/icons/LogiTune.tsx | Adds Logi Tune icon component (PNG embedded in SVG). |
| frontend/pages/SoftwarePage/components/icons/index.ts | Registers Logi Tune icon + name-to-icon mapping. |
| ee/maintained-apps/outputs/logitune/darwin.json | Adds generated macOS output manifest with installer URL, queries, and embedded scripts. |
| ee/maintained-apps/outputs/apps.json | Registers Logi Tune in the published maintained-app list. |
| ee/maintained-apps/inputs/homebrew/scripts/logitune-uninstall.sh | Adds uninstall script for Logi Tune. |
| ee/maintained-apps/inputs/homebrew/scripts/logitune-install.sh | Adds install script for Logi Tune. |
| ee/maintained-apps/inputs/homebrew/logitune.json | Adds the Homebrew input manifest for Logi Tune. |
| ee/maintained-apps/ingesters/homebrew/external_refs/main.go | Overrides Homebrew DMG URL to Logitech PKG and sets SHA256 to no_check. |
| cmd/maintained-apps/validate/darwin.go | Adds special-case validation behavior for Logi Tune version mismatches. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
WalkthroughThis PR introduces Logi Tune (com.logitech.logitune) as a macOS managed app in Fleet. The backend adds version validation that falls back to existence-only checks and overrides the installer URL to Logitech's enterprise PKG endpoint. Two shell scripts handle graceful app shutdown before installation and comprehensive cleanup during uninstallation. Configuration files define Logi Tune's metadata and wire it into the app catalog. A new frontend icon component displays the app in the software inventory UI. Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ee/maintained-apps/inputs/homebrew/scripts/logitune-install.sh`:
- Around line 39-41: The current check uses osascript’s exit status instead of
its stdout boolean; change the conditional around the osascript call that checks
"application id \"com.logitech.logitune\" is running" so it captures and
inspects stdout (expecting "true" or "false") rather than relying on the process
exit code, e.g. assign the osascript output to a variable and only call
quit_application 'com.logitech.logitune' "$CONSOLE_USER" when that output equals
"true" (treat empty output as false and keep stderr redirected to /dev/null).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 26ad07bd-4d05-4fd0-964e-59fcd3a04837
⛔ Files ignored due to path filters (1)
website/assets/images/app-icon-logitune-60x60@2x.pngis excluded by!**/*.png
📒 Files selected for processing (9)
cmd/maintained-apps/validate/darwin.goee/maintained-apps/ingesters/homebrew/external_refs/main.goee/maintained-apps/inputs/homebrew/logitune.jsonee/maintained-apps/inputs/homebrew/scripts/logitune-install.shee/maintained-apps/inputs/homebrew/scripts/logitune-uninstall.shee/maintained-apps/outputs/apps.jsonee/maintained-apps/outputs/logitune/darwin.jsonfrontend/pages/SoftwarePage/components/icons/LogiTune.tsxfrontend/pages/SoftwarePage/components/icons/index.ts
Add support for Logi Tune: include a Homebrew input manifest and install/uninstall scripts, add a transformer to override the installer URL to Logitech's enterprise PKG (and set SHA256 to "no_check"), and register the app in outputs. Also add darwin output refs with version, installer URL and embedded script refs, update apps.json to list Logi Tune, and add a frontend icon component + PNG asset and icon map entry. The PKG override is used because the Homebrew DMG contains a GUI-only installer without a silent mode; version is still sourced from Homebrew.
Summary by CodeRabbit
Release Notes