mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 21:32:18 +00:00
chore(release): v1.42.4
This commit is contained in:
1 parent
d0b9cd8b5d
commit
b1c59b908c
4 files changed
+57
-3
No files matched your search
@@ -1,5 +1,59 @@
|
||||
# Changelog
|
||||
|
||||
## [1.42.4] — 2026-10-16
|
||||
|
||||
Reliability: one integration health model with a watchdog and a shared
|
||||
card, a resumable Google Health backfill, no fixed list cut-offs.
|
||||
|
||||
### Added
|
||||
|
||||
- **Connection health.** Every integration status route (and
|
||||
`/api/integrations/status`, `/api/integrations/healthkit`,
|
||||
`/api/record-settings/integrations`) carries `health`: state
|
||||
(`ok | limited | degraded | action_required`), reason, since, one action,
|
||||
unavailable types, last success, last data and redacted diagnostics
|
||||
(`integration_statuses.recent_calls`, migration 0400).
|
||||
- **Watchdog.** Hourly and daily passes flag a continuous source that goes
|
||||
silent (24 h; 48 h for Apple Health, Oura and WHOOP; never for scales, BP
|
||||
cuffs or Strava) and pages the admin once per incident for action needed,
|
||||
provider errors or silence, with one recovery note; provider-wide incidents
|
||||
are aggregated; the first run records standing incidents without paging.
|
||||
- **Integration cards.** One card for every connection and the managed
|
||||
profile view, rendered from `health` only, with a three-dot menu and a
|
||||
collapsed, copyable diagnostics section.
|
||||
- **HealthKit arrivals.** Medication doses record arrivals as
|
||||
`MEDICATION_DOSE`; every type carries `lastBackgroundAt` (migration 0401
|
||||
turns `healthkit_type_syncs.type` into text).
|
||||
- `GET /api/labs/overview`: one row per biomarker with its latest reading.
|
||||
- The container logs pending migrations before `migrate deploy`.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Google Health backfill (#1220).** Progress is saved per page inside a
|
||||
collection; slices of five minutes or 500 pages; server errors and
|
||||
timeouts are retried; a long rate limit ends the slice and keeps the place;
|
||||
a refused resume filter falls back to a client-side skip that keeps its
|
||||
own place. Every admitted import runs in its own background event. The
|
||||
hourly sync waits for a running slice and stays inside its expiry.
|
||||
- **Fixed list limits (#1222).** Visit link pickers open on the record's date
|
||||
with search and paging (`/api/labs` `q`; illness episodes `from`, `to`,
|
||||
`offset`, `sortDir`, `q`; encounters `offset`); the lab list reads the
|
||||
overview; side effects, GLP-1 medications, drug-level intakes and symptoms
|
||||
page through all entries. A guard rejects new fixed client limits.
|
||||
- **Extra Apple Health dose (#1221).** A dose on another local day than the
|
||||
held take is stored unscheduled instead of overwriting it; a same-day
|
||||
entry converges onto the slot; dose history lets the slot's own take claim
|
||||
it first.
|
||||
- **Sleep score.** A night's midpoint comes from its main session; Oura
|
||||
`rest` and `deleted` periods are skipped and earlier imports retired.
|
||||
- Recovery page empty state; aging test fixtures made relative with a guard.
|
||||
|
||||
### API
|
||||
|
||||
- `health` on integration status responses; `metricFreshness[]` gains
|
||||
`MEDICATION_DOSE` and `lastBackgroundAt`; `POST /api/medications/intake/bulk`
|
||||
accepts `syncTrigger`; GLP-1 timeline adds `medications[]`.
|
||||
|
||||
## [1.42.3] — 2026-10-15
|
||||
|
||||
Withings API plans, lab unit conversion, chronic conditions and rest mode,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
openapi: 3.1.0
|
||||
info:
|
||||
title: HealthLog API
|
||||
version: 1.42.3
|
||||
version: 1.42.4
|
||||
description: >-
|
||||
Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest.
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "healthlog",
|
||||
"version": "1.42.3",
|
||||
"version": "1.42.4",
|
||||
"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",
|
||||
|
||||
+1
-1
@@ -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.42.3";
|
||||
/* @sw-version-fallback */ "v1.42.4";
|
||||
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/*`
|
||||
|
||||
Reference in new issue
Block a user