mist-cli: --compatible and "There was an error retrieving the 'devices' key from https://api.ipsw.me/v3/firmwares.json/condensed..."
1.9.1 (Latest: 1.9.1)
❯ sudo mist list firmware --compatible
┌──────────────────┐
│ INPUT VALIDATION │
└──────────────────┘
├─ Search only for latest (first) result will be 'false'...
├─ Include betas in search results will be 'false'...
├─ Only include compatible firmwares will be 'true'...
├─ Output type will be 'ascii'...
┌────────┐
│ SEARCH │
└────────┘
├─ Searching for macOS Firmware versions...
├─ There was an error retrieving the 'devices' key from https://api.ipsw.me/v3/firmwares.json/condensed...
├─ This may indicate the API is being updated, please try again shortly...
└─ Found 0 macOS Firmware(s) available for download
system_profiler SPHardwareDataType 15:40:16
Hardware:
Hardware Overview:
Model Name: Mac mini
Model Identifier: Macmini9,1
Chip: Apple M1
Total Number of Cores: 8 (4 performance and 4 efficiency)
Memory: 16 GB
System Firmware Version: 7459.141.1
OS Loader Version: 7459.141.1
Serial Number (system):XXX
Hardware UUID: XXXX
Provisioning UDID: XXXX
Activation Lock Status: Enabled
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 17 (3 by maintainers)
@PicoMitchell thanks for your help with all the testing!
/Users/Shared/Mistwas not being created in time for thefirmwares.jsonfile to be written to diskSo it looks like the worst that could happen if the cached
firmwares.jsonis out-of-date and doesn’t list the newest version available from the--compatiblequery (likehttps://api.ipsw.me/v4/device/MacBookPro18,4?type=ipsw, for example) is thatmistwill simply not list the latest version yet as you can see here where I edited the cachedfirmwares.jsonto NOT include the 13.0.1 release even though 13.0.1 was in the listing retrieved from the model specific--compatiblequery:mist-cli-feature-cache-firmwares-json/.build/apple/Products/Release/mist list firmwareFor full disclosure, I ran this test from my Intel Mac and just edited to
mistsource to trick it into thinking I was running from aMacBookPro18,4which was a lot easier that setting up the development environment on my testing M1 Air that currently only has a un-setup clean install.When there is no cache available, I think it wouldn’t hurt to still show a message about IPSW.me being updated and to try again in a few hours:
mist-cli-feature-cache-firmwares-json/.build/apple/Products/Release/mist list firmwareOn one basic test, it loading the cached firmwares.json appeared to work properly:
mist-cli-feature-cache-firmwares-json/.build/apple/Products/Release/mist list firmwareBut, I plan to also do some testing on an Apple Silicon Mac so I can see how thing behave when the cache is out of sync with the latest individual model data from IPSW.me using the
--compatibleoption.Getting an error right off the bat:
mist-cli-feature-cache-firmwares-json/.build/apple/Products/Release/mist list firmwareUPDATE: This is because I manually deleted the
/Users/Shared/Mistfolder earlier during some other testing. Manually re-creating that folder makes the listing work properly, butmistshould create that folder if needed to cache thefirmwares.jsonfile.I like the idea of a local cache of the last valid
firmwares.jsonfile to fall back on when the IPSW.me API is being updated!