Files
HealthLog/src/lib/fitbit
Marc-André Bombeck bd467d0c4d fix(sleep): emit Fitbit sleep as per-segment rows, not a stage collapse
The Google sleep payload carries a real per-stage segment series, but the
mapper summed each stage's segments into one row stamped on the stage's
last end. The hypnogram then reconstructed all of a stage's time as a
single block ending at the night's right edge — the same stacked-bar
artefact as WHOOP, despite the source carrying true timing.

Emit one row per segment with measuredAt at that segment's end and an
indexed externalId so the several segments of one stage stay distinct
under the dedup key. The timeline is measured (real onsets), so these
rows are not flagged reconstructed.
2026-06-14 23:16:16 +02:00
..