Highlights
Data Coverage tab
We have added a new Data Coverage tab to the admin panel which shows the data that we support for each provider. This information is always up to date.
Note
Although it includes OpenWearables capabilities, it does not display which data has already been synchronised with the system.
Observability, deployments & logs
The focus of this release was on making debugging and troubleshooting easier by improving the visibility of logs and sync statuses. These changes include the following:
- adding a workflow to publish an image to Docker Hub
- linked webhook logs to users and/or traces (including failed attempts to receive a webhook).
- the application version has been added to Sentry logs
- improved reliability when saving sync statuses from webhooks to Redis (new
skippedstatus added). - new metadata has been added to sync statuses, dividing new items into
insertedandupdated.
Lookback for pull syncs
Although we recommend using webhooks, we have added lookbacks as a safeguard against data gaps if you need to use periodic pull syncs for any reason. This could happen if a user has not opened their wearables app for a long time, causing the live sync window to expire. This issue can now be resolved by syncing data from a specified number of minutes, hours or days in the past.
In order to use this feature, you will need to set the PULL_SYNC_LOOKBACK environment variable, specifying a string containing a number and a time unit. For example, 2d would mean 2 days, 3h would mean 3 hours, and 15m would mean 15 minutes. In periodic pull mode, live sync by default retrieves data recorded from the start of the day on which it is called until the present moment. Setting the lookback extends the start of the sync window by the specified duration and unit of time.
Note
PULL_SYNC_LOOKBACK is disabled by default.
This session is in committed state error
Thanks to our new contributor, the bug that caused ORM objects to be downgraded has been fixed.
What's Changed
Observability, deployments & logs
- ci: add manual Docker Hub image publish workflow by @kczpl in #1179
- fix(backend): build data source display name from reloaded provider strings by @knowald in #1154
- chore(backend): add user/trace correlation to webhook logs by @bartmichalak in #1183
- feat(backend): set Sentry release from version + commit SHA by @bartmichalak in #1196
- docs: remove publishing the images section by @bartmichalak in #1205
- fix(backend): webhooks syncs being saved into sync logs by @KaliszS in #1209
- refactor: improved sync metadata logging by @KaliszS in #1211
- fix(integrations): drop non-retriable 4xx webhook deliveries instead of retrying forever by @slavarosin in #1053
Docs & chores
- chore(backend): replace Garmin provider icon with brand-compliant logo by @bartmichalak in #1210
- chore: update OW version to 0.6.1 by @KaliszS in #1216
- chore: update frontend dependencies by @KaliszS in #1217
- chore: update backend dependencies by @KaliszS in #1218
Suunto
- fix(backend): report accurate Suunto sleep sync stats, skip unsaveable sessions by @bwickner in #1182
- fix(integrations): handle Suunto workout webhook edge cases by @HugoHeneault in #1042
- fix(backend): suunto tests by @KaliszS in #1189
Garmin
- fix(backend): persist body composition muscle mass from Garmin webhooks by @bartmichalak in #1194
- fix(backend): persist blood pressure from Garmin webhooks by @bartmichalak in #1193
Polar
- fix: accept float values for Polar training load fields (Fixes #1198) by @rtmalikian in #1204
Whoop
Fitbit
- fix(integrations): coerce Fitbit string start/end dates to datetime before strftime by @slavarosin in #1054
Other improvements
- feat: automatic data types coverage tab by @KaliszS in #1206
- feat(backend): lookback in pull sync by @KaliszS in #1215
- fix(frontend): empty-state hint for provider priorities list by @bartmichalak in #1191
- fix(webhooks): fire event record webhook directly instead of via after_commit by @zacharydrillings-atria in #1208
New Contributors
- @bwickner made their first contribution in #1182
- @rtmalikian made their first contribution in #1204
- @zacharydrillings-atria made their first contribution in #1208
Full Changelog: 0.6.0...0.6.1