--- summary: "How Moltbot vendors Apple device model identifiers for friendly names in the macOS app." read_when: - Updating device model identifier mappings or NOTICE/license files - Changing how Instances UI displays device names --- # Device model database (friendly names) The macOS companion app shows friendly Apple device model names in the **Instances** UI by mapping Apple model identifiers (e.g. `iPad16,6`, `Mac16,6`) to human-readable names. The mapping is vendored as JSON under: - `apps/macos/Sources/Moltbot/Resources/DeviceModels/` ## Data source We currently vendor the mapping from the MIT-licensed repository: - `kyle-seongwoo-jun/apple-device-identifiers` To keep builds deterministic, the JSON files are pinned to specific upstream commits (recorded in `apps/macos/Sources/Moltbot/Resources/DeviceModels/NOTICE.md`). ## Updating the database 1. Pick the upstream commits you want to pin to (one for iOS, one for macOS). 2. Update the commit hashes in `apps/macos/Sources/Moltbot/Resources/DeviceModels/NOTICE.md`. 3. Re-download the JSON files, pinned to those commits: ```bash IOS_COMMIT="" MAC_COMMIT="" curl -fsSL "https://raw.githubusercontent.com/kyle-seongwoo-jun/apple-device-identifiers/${IOS_COMMIT}/ios-device-identifiers.json" \ -o apps/macos/Sources/Moltbot/Resources/DeviceModels/ios-device-identifiers.json curl -fsSL "https://raw.githubusercontent.com/kyle-seongwoo-jun/apple-device-identifiers/${MAC_COMMIT}/mac-device-identifiers.json" \ -o apps/macos/Sources/Moltbot/Resources/DeviceModels/mac-device-identifiers.json ``` 4. Ensure `apps/macos/Sources/Moltbot/Resources/DeviceModels/LICENSE.apple-device-identifiers.txt` still matches upstream (replace it if the upstream license changes). 5. Verify the macOS app builds cleanly (no warnings): ```bash swift build --package-path apps/macos ```