mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-07 12:22:03 +00:00
chore(release): v1.4.21
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
52dd9ff9c3
commit
995528801c
2 files changed
+64
-1
No files matched your search
@@ -1,5 +1,68 @@
|
||||
# Changelog
|
||||
|
||||
## [1.4.21] — 2026-05-10
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Daily Briefing regenerate produced an empty card.** The
|
||||
`/api/insights/generate` route was still calling the legacy
|
||||
`getInsightsSystemPrompt`, which returns the v1.4.5 schema and
|
||||
never asks the model for a `dailyBriefing` block. Re-runs from the
|
||||
hero strip therefore stored a payload with no briefing and the
|
||||
card painted its empty state forever. The route now uses
|
||||
`getStrictInsightsSystemPrompt(locale)` so the v1.4.20 ground
|
||||
rules apply to manual regeneration too. Cached legacy blobs still
|
||||
parse — every new schema field is optional with `passthrough()`.
|
||||
- **Duplicate streaming bubble after the assistant reply landed.**
|
||||
After SSE `done` the streaming hook keeps `streaming.content`
|
||||
populated to support the in-flight render path, then fires a
|
||||
TanStack invalidate that pulls the persisted assistant message
|
||||
into `conversation.messages`. The thread therefore rendered the
|
||||
reply twice until the next `send` reset cleared it. The render
|
||||
path now suppresses the in-flight bubble as soon as the persisted
|
||||
twin lands, keyed on `streaming.messageId`.
|
||||
- **Settings cog overlapped by the drawer's close-X.** Radix Sheet
|
||||
paints its default close-X at `top-4 right-4`, which visually
|
||||
swallowed the cog in the right-edge button cluster. The cog moves
|
||||
to the left header zone (next to the gradient avatar) and a
|
||||
`pr-12 / sm:pr-14` padding rule keeps the New-chat button out of
|
||||
the close-X area on narrower viewports.
|
||||
- **Suggested-prompt chips below the 36px touch target.** Chips
|
||||
rendered at 28px which fell short of the WCAG-AA target-size
|
||||
guideline. Padding bumped to land on a 36px hit area.
|
||||
|
||||
### Changed
|
||||
|
||||
- **Coach context now carries day-level readings instead of
|
||||
aggregates only.** `buildCoachSnapshot` folds in a
|
||||
`timeline.recent` block (one row per UTC day for the last 14 days,
|
||||
each tagged with weekday) and a `timeline.weekly` block (ISO-week
|
||||
buckets covering the rest of the analysis window). Systolic and
|
||||
diastolic pair into a single BP row per day; half-measured days
|
||||
drop so the model never fabricates a complement. Per-day
|
||||
medication-adherence rows draw from `MedicationIntakeEvent`. The
|
||||
EN and DE Coach system prompts gain a DAY-LEVEL READINGS section
|
||||
instructing the model to answer day-specific or weekday-specific
|
||||
questions out of `timeline.recent` with date + weekday citations,
|
||||
acknowledge missing days plainly, and fall back to
|
||||
`timeline.weekly` for older windows. Token cost per Coach turn
|
||||
rises from ≈190 tokens (aggregates only) to ≈3000 tokens for a
|
||||
full-scope snapshot. The new scope picker is the relief valve.
|
||||
|
||||
### Added
|
||||
|
||||
- **Per-source + per-window scope picker on the Coach sources rail.**
|
||||
The sources rail grew real per-source checkboxes (BP / Weight /
|
||||
Pulse / Mood / Compliance — 36px touch target, 60% opacity when
|
||||
excluded) and a window selector (last 7 days / 30 days / 90 days /
|
||||
all-time). The drawer owns the scope state and forwards picked
|
||||
scope through `useSendCoachMessage` to the chat request body.
|
||||
Toggles reset to the all-source last-30-days default each drawer
|
||||
open. The scope payload only ships when the user has narrowed
|
||||
away from the default — server can tell "no opinion" from
|
||||
"intentionally narrow". A single-source last-7-days narrowed turn
|
||||
lands around ≈600–700 tokens.
|
||||
|
||||
## [1.4.20] — 2026-05-10
|
||||
|
||||
### Added
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "healthlog",
|
||||
"version": "1.4.20",
|
||||
"version": "1.4.21",
|
||||
"description": "Self-hosted personal-health-tracking PWA with Withings integration, AI insights, and doctor-report PDF export.",
|
||||
"license": "AGPL-3.0-only",
|
||||
"homepage": "https://healthlog.dev",
|
||||
|
||||
Reference in new issue
Block a user