The problem:
- A Fenix 8-compatible app was last updated in the store in January 2025 (before Tactix 8 was released). [It's not my app]
https://apps.garmin.com/apps/aa34e9ae-7ad1-44fd-a391-55439615d8fe
- The CIQ store website says Tactix 8 AMOLED / Solar are compatible. (They're lumped in with Fenix 8 AMOLED / Solar, respectively)
- The CIQ store app does not say Tactix 8 is compatible (notably, the CIQ store app never lumps distinct models together)
- Users report the app won't install on Tactix 8
The cause (afaict):
- CIQ store website's deviceTypes API endpoint (falsely?) claims Tactix 8 is associated with the (base) Fenix 8 part numbers (006-B4536-0 and 006-B4533-0).
The same endpoint also has separate Tactix 8-only part numbers (006-B4775-00, 006-B4776-00). These seem to be the *real* part numbers for Tactix 8
- This means the Connect IQ website falsely claims that apps which support Fenix 8 (B4536 / B4533) also automatically support Tactix 8 (even if those apps do not support B4775 and B4776)
- The Connect IQ app makes no such claim
Investigation:
The deviceTypes API endpoint used by the Compatible Devices tab in the store website has the following Tactix 8-related part numbers:
[https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes]
... { "id": "308", "partNumber": "006-B4536-00", "name": "fēnix® 8 AMOLED (47mm/51mm)", "additionalNames": ["quatix® 8 AMOLED (47mm/51mm)", "tactix® 8 AMOLED (47mm/51mm)"], "imageUrl": "https://res.garmin.com/en/products/010-02905-00/v/pd-06-sm.jpg", "urlName": "fenix8-51mm" }, ... { "id": "311", "partNumber": "006-B4533-00", "name": "fēnix® 8 Solar (51mm)", "additionalNames": ["fēnix® 8 Dual Power (51mm)", "tactix® 8 Solar (51mm)"], "imageUrl": "https://res.garmin.com/en/products/010-02907-10/v/rf-sm.jpg", "urlName": "fenix8s-51mm" }, ... { "id": "324", "partNumber": "006-B4775-00", "name": "tactix® 8 – 47 mm, AMOLED", "additionalNames": ["tactix® 8 – 51 mm", "AMOLED"], "imageUrl": "https://res.garmin.com/en/products/010-03405-00/v/pd-07-sm.jpg", "urlName": "tactix8-47-51" }, ... { "id": "335", "partNumber": "006-B4776-00", "name": "tactix® 8 – 51 mm, Solar", "additionalNames": ["tactix® 8 – 51 mm", "Solar", "Elite"], "imageUrl": "https://res.garmin.com/en/products/010-03407-00/v/pd-08-sm.jpg", "urlName": "tactix8s-51" }
Note that Tactix 8 is listed as part of both the old base Fenix 8 part numbers (B4536 and B4533) and in its own new, dedicated part numbers (B4775, B4776).
My theory:
- (maybe) when Tactix 8 was released, the real devices always used the new part numbers (I can't confirm or deny this as I don't have the real hardware)
- the new part numbers were ofc added to fenix8*/compiler.json (this can be easily confirmed - new versions of those files have the new part numbers, and old version from before the Tactix release in Feb 2025 do not)
- the new part numbers were ofc added to the part number mapping in the deviceTypes API
So far so good.
But it seems that *also*:
- the mappings for the old part numbers (for Fenix 8) were also updated to refer to Tactix 8
I'm not sure why this happened. I don't know if Tactix 8 *used* to have the same part numbers as Fenix 8, or if they always had the new part numbers.
But either way, this dev's *appears* to support Tactix 8 (at least on the CIQ website) but in reality it doesn't.
Ofc this can almost certainly be rectified by rebuilding (re-exporting) the project and updating the app in the store. (When I export for fenix8* now, ofc the new Tactix 8 part numbers are included.)
But I'm curious about why/how this happened and how it can be fixed / prevented in the future.
Should the mappings for B4536 and B4533 be reverted so they no longer refer to Tactix 8?
Why doesn't the Connect IQ store app have the same problem - does it use different part number mapping data? [*] Does it have something to do with the fact that store app doesn't group multiple similar models together (e.g. Fenix, Enduro, Quatix, Tactix) like the website does? Based on the rendering of the product names, and the fact the 47mm and 51mm variants are separate in the Connect IQ store app (but combined in the deviceTypes API), it seems that it is using different mapping data.
[*] If so, can the store website be updated to use the same part number mapping as the store app?