mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-13 22:32:04 +00:00
chore(release): v1.28.23 — sleep disagreement on the dashboard; Apple Health medication groundwork
The sleep source-discrepancy annotation now reaches the surfaces: SleepNight carries the MAIN session's annotation (naps never cross-compare), the analytics slim slice / dashboard snapshot / iOS summary thread it additively, and the dashboard sleep tile renders the shared discreet marker (extracted from the sleep panel — one implementation, two surfaces). Served totals unchanged, pinned by tests. Apple Health medications groundwork (server side of the medication-import request): IntakeSource gains APPLE_HEALTH; medications accept an external mirror identity (source-exclusive by policy) and dose imports carry the HK dose-event UUID — both idempotent per stable key, with the concurrent-create race resolved to the winner. Migration 0239, additive only. Entries without the new fields behave byte-identically. Hardening: doctor-report aggregation + PDF charts compute ranges with loops instead of spread calls — a report over a sample-dense year cannot overflow the call stack (the class fixed for the Google Health full sync).
This commit is contained in:
1 parent
755da41019
commit
c400e2aa88
29 files changed
+1585
-276
No files matched your search
@@ -34,6 +34,7 @@
|
||||
* shape loses it.
|
||||
*/
|
||||
import type { DataSummary } from "@/lib/analytics/trends";
|
||||
import type { SleepSourceDiscrepancy } from "@/lib/analytics/sleep-night";
|
||||
import type { CorrelationResult } from "@/lib/insights/correlations";
|
||||
|
||||
/** Shape consumed by every `/insights/<metric>/page.tsx`. */
|
||||
@@ -107,6 +108,17 @@ export interface DashboardAnalyticsData {
|
||||
string,
|
||||
{ lastSeenAt: string; daysAgo: number } | null
|
||||
>;
|
||||
/**
|
||||
* v1.28.x — source-discrepancy annotation for the latest night behind
|
||||
* `summaries.SLEEP_DURATION.latest` (carried by both the slim
|
||||
* `?slice=summaries` branch and the thick slice; the dashboard snapshot
|
||||
* mirrors it under `tiles.sleepSourceDiscrepancy`). Non-null when two
|
||||
* writer buckets reported clearly different asleep totals for that
|
||||
* night's main session; the sleep tile marks the headline with a
|
||||
* discreet "sources disagree" hint. Additive — absent/null keeps the
|
||||
* tile rendering exactly as before.
|
||||
*/
|
||||
sleepSourceDiscrepancy?: SleepSourceDiscrepancy | null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user