diff --git a/CHANGELOG.md b/CHANGELOG.md index 85e4490d5..6b42cf3fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ ## [Unreleased] +## [1.32.24] — 2026-07-24 + +Polar sync is more resilient when one data type is unavailable. A single +collection that a device or account cannot serve no longer blanks the rest of +the Polar data on every hourly check. + +- **One unavailable Polar data type no longer blocks the others.** SpO2 on a + watch without the sensor, or a data type an account is not entitled to, used + to fail the whole Polar sync and leave recharge, sleep, and activity empty. + Each collection now imports on its own, so the ones that are available still + come in and only the one that failed is held back. +- **A failing Polar collection is named on the integration status.** When a + collection cannot be read, the sync is recorded as failed with the failing + collection named, instead of showing a healthy state over missing data. +- **Unexpected Polar response shapes are logged, not read as empty.** If Polar + returns a body that does not match the expected shape, it is now recorded for + diagnosis rather than silently treated as "no data", which previously could + mark a sync healthy while importing nothing. + ## [1.32.23] — 2026-07-24 Sync status now tells the truth for the connected wearables and CGM sources. A diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index b02b00b47..0f7ef5f94 100644 --- a/docs/api/openapi.yaml +++ b/docs/api/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: HealthLog API - version: 1.32.23 + version: 1.32.24 description: >- Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest. diff --git a/package.json b/package.json index 3dbbb9edd..1ef486bb1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "healthlog", - "version": "1.32.23", + "version": "1.32.24", "description": "Self-hosted personal-health-tracking PWA with Withings integration, AI insights, and doctor-report PDF export.", "license": "PolyForm-Noncommercial-1.0.0", "homepage": "https://healthlog.dev", diff --git a/public/sw.js b/public/sw.js index e9d38b708..0ad558d70 100644 --- a/public/sw.js +++ b/public/sw.js @@ -36,7 +36,7 @@ try { // v1.4.38.4 → v1.4.42. Do not hand-edit; bump `package.json` and rebuild. const CACHE_VERSION = (typeof self !== "undefined" && self.__APP_VERSION__) || - /* @sw-version-fallback */ "v1.32.23"; + /* @sw-version-fallback */ "v1.32.24"; const STATIC_CACHE = `healthlog-static-${CACHE_VERSION}`; const PAGE_CACHE = `healthlog-pages-${CACHE_VERSION}`; // v1.18.6 — read-only data cache for a curated allowlist of safe GET `/api/*`