fleet
fleet copied to clipboard
🪲If I add a VPP app for iOS and macOS, I can't add it to macOS Setup Experience
Fleet version: main at 3a879133b1c833a6b83ae677a5df85a196e08dbe(latest commit at time of writing)
Web browser and operating system: Chrome Version 136.0.7103.114 on macOS
💥 Actual behavior
Adding VPP app that supports macOS and iOS does not behave how I expect it to
🧑💻 Steps to reproduce
- Purchase a VPP app that supports multiple platforms, such as macOS and iOS. I used Whatsapp
- Navigate to your selected team's software page. Click "Add software", then select "App Store (VPP)"
- Add the macOS version of the app with the Self-service option
- Add the iOS version of the app
- Go to Controls->Setup Experience->Install Software. Click "Show Selected Software". Add the macOS version
- Try to save
🕯️ More info (optional)
I also noticed if I add the macOS version only, it works and I can add it to setup experience and save. If I later go back and add the iOS version from the software page and then run setup experience it will fail. It seemingly tries to install both on the host. This might be a separate bug or another facet of this same bug? Seems related
🛠️ To fix
Make it so I can add the macOS and iOS versions of an app and still add that app to setup experience
planning poker: https://fleetdm.slack.com/archives/C08RXDH5LHZ/p1750360794114119
QA Notes
Started with repro of original issue. The error when attempting to add to Setup experience was:
level=error ts=2025-06-20T19:01:46.943506Z component=http [email protected] method=PUT uri="/api/latest/fleet/setup_experience/software?team_id=36" took=18.473458ms err="setting setup experience titles: setting setup experience software: only MacOS supported, unsupported AppStoreApp title: 61 (WhatsApp, ios)"
This issue has been resolved with this ticket ^^
- [x] I am now able to add macOS VPP apps to Setup experience even if the iOS or iPadOS version of the same VPP app has been added to the software library.
With regards to the additional information:
I also noticed if I add the macOS version only, it works and I can add it to setup experience and save. If I later go back and add the iOS version from the software page and then run setup experience it will fail. It seemingly tries to install both on the host. This might be a separate bug or another facet of this same bug? Seems related
I wrote a follow up ticket for that https://github.com/fleetdm/fleet/issues/30209 Here is some info I gathered when testing the fix for the main issue in this ticket:
Error from install command during Setup Experience:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>a1977fb4-9393-4a7e-b5dd-ed028542b87c</string>
<key>ErrorChain</key>
<array>
<dict>
<key>ErrorCode</key>
<integer>506</integer>
<key>ErrorDomain</key>
<string>ASDErrorDomain</string>
<key>LocalizedDescription</key>
<string>Duplicate request</string>
</dict>
</array>
<key>RejectionReason</key>
<string>Other</string>
<key>State</key>
<string>Failed</string>
<key>Status</key>
<string>Error</string>
<key>UDID</key>
<string>8FA05CF3-20AA-5541-BA9F-81B84B4523CC</string>
</dict>
</plist>
It's a duplicate request because it already installed it once:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>6ff6c45f-1cdd-4f76-aa25-612bae6979f7</string>
<key>Identifier</key>
<string>net.whatsapp.WhatsApp</string>
<key>State</key>
<string>Installing</string>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>8FA05CF3-20AA-5541-BA9F-81B84B4523CC</string>
</dict>
</plist>
Adding VPP apps, both Mac and iOS, Setup experience now smoothly flows. Fleet's fix, a lighthouse in the code chaos.