Hello!
Is someone also getting regular crashes of connect IQ watchfaces? I am using Suunto like plus (which got recent update for SDK 7.3.0) But other crashes too.
Soft reset helps for a while. I tried reinstall but crashs still happen.
Hello!
Is someone also getting regular crashes of connect IQ watchfaces? I am using Suunto like plus (which got recent update for SDK 7.3.0) But other crashes too.
Soft reset helps for a while. I tried reinstall but crashs still happen.
Given the API for weather here https://developer.garmin.com/connect-iq/api-docs/Toybox/Weather.html it's possible that the Forerunner 955/965 is now unexpectedly returning a null value which…
TL;DR try turning off any Garmin weather features in your CIQ watchfaces
This might be related to a change in behavior regarding the retrieval of weather data in Connect IQ. Basically the weather observation…
I mean widget in ciq watchface. And i have two of them installed and both use garmin weather source. And both got crashed the same time.
After setting them to "none" for now, no crashes occured :)…
TL;DR try turning off any Garmin weather features in your CIQ watchfaces
This might be related to a change in behavior regarding the retrieval of weather data in Connect IQ. Basically the weather observation location name is coming up empty (null) when it used to be populated. (This change was made for Fenix 8 and for recent firmware updates of other devices.)
It seems that some watchfaces were not written to handle this case, which is why they are crashing when they try to display the location name. (technically, a well-written app would’ve handled the null case, as it’s specified in the API, but in the past it may not have been a problem — at least not as frequently and consistently as now.)
If your watchface is set up to retrieve weather, I would recommend turning that feature off for the time being (if you can).
I would also contact the app developer and let them know.
In the bug report linked below, a member of the Garmin CIQ team explains that the observation location name is now basically deprecated in the CIQ API (which means that any CIQ watchface which was not written to properly handle a null weather location name will continue to crash until the watchface code is changed to handle this condition):
No worries!
But the problem I’m thinking of would only happen if a CIQ watchface was retrieving weather data using the CIQ API and it received a null location name it was not coded to handle.
I don’t think the built-in weather widget would have any bearing on that problem.
It’s possible that your watchfaces are crashing for a different reason, but I guessed it was the weather thing because:
- this is a change that’s happened recently and is affecting many watches (probably most or all of the watches that are still receiving regular updates)
- lots of watchfaces try to retrieve weather data
You could also try disabling your bluetooth connection for a while, as a test. If the watchface in question stops crashing, it’s probably because it was unable to retrieve the weather at all, and so this bug was avoided.
I no have any weather widget active or Im not use any face with weather build and everyday I have crash. This message is to Garmin: Please solve this problem, and stop put the problems on the shoulders of the developers, this is your fault, I pay 650€ and I have the right to have a functional watch on my wrist.
If it's a Third Party (non-Garmin) watch face it's probably not Garmin's fault, and you should contact the watch face's developers in the first instance. They're probably making incorrect assumptions about the data they'll receive from the CIQ API.
You have a functional watch. I've never had problems with the stock watch faces and the stock weather glance.
I post on wrong topic, my watch is the 965, but if the developers of watch faces don't knowing what doing...why Garmin no stoping the rubbish on Garmin store ? it's not Garmin fault, it's not dev fault, the fault is me, next time not seeing my money.
Garmin says they review CIQ apps, but I doubt it's done on every upload:
https://developer.garmin.com/connect-iq/app-review-guidelines/
It's also not always possible for a developer to test on every watch on the market, or every firmware version.
Given the API for weather here https://developer.garmin.com/connect-iq/api-docs/Toybox/Weather.html it's possible that the Forerunner 955/965 is now unexpectedly returning a null value which isn't being handled correctly.
many thanks for your answer.
It's meaning at this time the devs not comply the guidelines, and puting on the page of watch face in store this watch is compatible with the watch face. and it's not true, and the most bad Beauvoirs made with paid watch faces, you pay and receive everyday a crash, you contact the dev and he tell the fault is from Garmin
its sad, maybe thinking we are all stupid people.
Given the API for weather here https://developer.garmin.com/connect-iq/api-docs/Toybox/Weather.html it's possible that the Forerunner 955/965 is now unexpectedly returning a null value which isn't being handled correctly.
As mentioned above, it’s actually Weather.CurrentConditions.observationLocationName which is now returned as null, whereas in the past it was a string (either most of the time, or always). The reason for this change was explained in the bug report linked above: Garmin found that observationLocationName was often wrong, so they decided to stop returning non-null values. In fact, observationLocationName will be deprecated in future CIQ versions.
observationLocationName was always documented/typed as String or Null, which means that failure for a CIQ app to account for the Null possibility is indeed a bug in the app.
It just so happens that this particular type of bug (or oversight) has lain dormant, until now.
It’s an indisputable fact that several CIQ apps are crashing due to this change. Whether this problem is Garmin’s “fault” depends on your POV:
- (pro-Garmin) Garmin documented/specified observationLocationName to be string or null from the very beginning, so it’s the fault of app developers for not following the API (either by following the documentation or by enabling strict type checking, for apps which were written after type checking was introduced)
- (anti-Garmin) Garmin never (or rarely) returned null for observationLocationName in the past, so it’s wrong for them to change it now, even if the change does not violate the existing API. Even for apps that don’t have this bug, it’s still a shame that observationLocationName is no longer available
- (neutral) It doesn’t matter whose fault it is, apps which have this problem need to be updated. (Either that, or their weather functionality has to be disabled by their users, if possible)
From a pragmatic point of view, there’s probably more than 0 affected apps which will never be updated, which means they will be broken forever. It’s not Garmin’s fault that these apps don’t follow the spec, but it’s too bad for existing users.