-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
It seems that the watch face gets stuck a few times a day on versa 3. #67
Comments
If you can find out what's causing this, that'd be great. I've tried to run the watch face in the debugger for long periods of time but can't replicate. The same happens with Sense. The symptom that I can see is the API used to load the data changes reports there's no data file on the watch at all, or it hasn't updated for a long time. On the device, this can sometimes be remedied by restarting the watch app, but sometimes you need to restart the Fitbit app on the phone to correct this, which indicates there's separate issues affecting the Fitbit app and the watch face. Also note the same core code is used for both the Versa 2 and 3 and Versa 2 does not have this issue using the exact same sync logic, so looks like the issue only appears when run on the newer firmware in the Versa 3+ devices. |
I have built the app and installed it. |
For Versa 3 / Sense, you should be using SDK 6.1 (the latest) - that's the SDK used to made the build in the Fitbit store. Note the dual SDK folder structure in the repo as documented in the README. |
A short update:
I'll keep following and see how things go. |
|
Just for the record, I'm using android... {'emittedBy': {'component': 'companion', 'hostId': '09CA5C4C6524', 'buildID': '03a8c96c51b6d014', 'uuid': 'eaed806d-9ff5-4aa9-a2c8-518f1f852f5a'}, 'kind': 'log', 'fromHost': False, 'position': {'generated': False, 'line': 142, 'name': 'NightscoutMonitor', 'column': 0, 'source': 'app:///companion.js'}, 'message': ['currentBgDate: 1659714860699'], 'timestamp': 1659715003.439} After I have rebooted the watch, they have connected again. and use try catch in the app. Let's see how this will work... |
Now getting an error after rebooting the phone. Not sure if it is a problem in our code or not. |
A short update: So, right now the program is already running for 12 hours, and obviously we need much more testing. |
A short update: One time I have received a message saying: App timeout triggered; app closing. See https://dev.fitbit.com/build/reference/device-api/appbit/#interface-appbit- for more information. This was printed a long time after there was no data, so still not sure what is going on there. My next step should be write the client log to a file and have a button to print this file. Hope it will shaw what the problem is. |
Right now there should be 3 issues identified:
I'll also try to use fitbit-asap as a way to wake the companion app. (https://www.npmjs.com/package/fitbit-asap) |
FWIW on iOS:
|
|
Reading this, does not seem to be too optimistic: https://community.fitbit.com/t5/SDK-Development/messaging-socket-randomly-not-open/m-p/3299122 |
FWIW that log has nothing in it that says the messaging is the issue and we're not transporting data using messaging. The log implies Fitbit has a bug somewhere, where the app on the phone periodically thinks the app on the watch is dead, which results in the companion being killed. Note this does not happen on the Versa 2, so this is a problem in the new firmware. |
I totally agree that the issue is with the watch/phone side and not with the application. |
Looked at the data loading logic and made #68 to clean shit up. With the current implementation, it looks like there's a lot of undefined code paths that can break things if any of the requests fails. The refactor attempt to make the logic a bit more robust. Now testing on my device. |
Thanks for the update. |
The relevant changes are all in companion/index.js. Best viewed in the mode where you hide white space changes. |
It does not happen with sentinel watch face, so it seems that a workaround can be found for the issue.
If no one has an idea what to do, I'll try to debug this.
The text was updated successfully, but these errors were encountered: