mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
The glucose display unit had thirty-odd readers and, until recently, no control to set it. Nothing in the browser suite walks the path a person actually takes: capture a reading in mg/dL, switch the account to mmol/L, capture a second one, and read both back — each converted, none of them reinterpreted — in the list and on the dashboard strip. The journey covers that end to end, plus the boundary: a value past the plausible ceiling is refused by the server, the capture keeps what was typed, and the list is exactly what it was. One reading arrives with no meal-time context, the way a meter export or a device sync delivers one. It reads back correctly in the list; the tile it should paint does not exist yet (#943), so the tile assertion is skipped by issue number rather than softened into something that passes. Three supporting changes: - The list rows carry what they hold — type and resolved display unit on the row, a slot on the value cell — so the journey pins "this reading now reads in mmol/L" structurally instead of matching translated copy that also paints through a different subtree on the card list. The meal-time options carry their enum for the same reason. - The sharing-marker weight rows were seeded by handing a Date to a `timestamp without time zone` column, which stamps them in the host's zone. On a machine east of UTC that put them hours in the future, where every fold whose window ends "now" skips them, and the type stayed uncovered — which keeps the snapshot's thick phase cold and the whole tile strip short. Seed the instant as UTC, the shape the app's own writes use. - The file mutates one shared account and reads global verdicts off it, so it runs in a single project alongside the visits and immunization journeys.