chore(release): v1.28.53 — a Today overview at the top of the dashboard

Bundles the daily-digest spine (a single server-built digest read from the
overnight insight cache, never a fresh generation) and the Today hero that
surfaces it: the health score with an honest provisional/finalised face, the
day's lead read, and a short worth-a-look rail of one-tap items. The tiles and
charts stay below, unchanged. The Today hero takes the promoted slot when
Insights is on, so it never stacks with the legacy opt-in hero.

This is the shared foundation the later daily surfaces (morning refresh, an
optional daily note) build on — one digest, one card model, one design language.
This commit is contained in:
Marc-André Bombeck committed 2026-07-16 19:37:14 +02:00
1 parent 168c1c85d7
commit 25d720e6e7
5 files changed
+21 -4

No files matched your search

+13 -1
View File
@@ -2,7 +2,19 @@
## [Unreleased]
## [1.28.52] — 2026-07-16 — Dashboard tiles for more of what you already track
## [1.28.53] — 2026-07-16 — A "Today" overview at the top of your dashboard
The dashboard opens with a Today view: your health score, the day's lead read,
and a short "worth a look" list — a dose window that's open, an integration to
reconnect, a check-up coming due — each a single tap to the right place. The
familiar tiles and charts sit just below, unchanged.
It reads the insight that's already prepared overnight, so it loads instantly
and never generates anything on open. When last night's sleep hasn't synced yet,
it says so plainly and fills in the sleep-dependent parts once the data arrives,
rather than showing a stale or empty score. This is the first piece of a single
daily view that later surfaces — a morning refresh, an optional daily note —
will all build on.
The dashboard gains tiles for readings that were synced and charted but never
had a place on the home strip: heart-rate variability, blood oxygen, breathing
+1 -1
View File
@@ -1,7 +1,7 @@
openapi: 3.1.0
info:
title: HealthLog API
version: 1.28.52
version: 1.28.53
description: >-
Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "healthlog",
"version": "1.28.52",
"version": "1.28.53",
"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
View File
@@ -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.28.52";
/* @sw-version-fallback */ "v1.28.53";
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/*`
+5
View File
@@ -799,7 +799,12 @@ export default function DashboardPageClient() {
<TodayHero digest={digestQuery.data} />
) : null)}
{/* The digest-driven TodayHero owns the promoted hero slot whenever
Insights is on (Marc sign-off, decision 1). The legacy opt-in
DashboardHero only shows for an Insights-disabled account, so the two
heroes never stack. */}
{heroVisible &&
!insightsEnabled &&
(primaryLoading || !heroSnapshot ? (
<DashboardHeroSkeleton />
) : (