mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
The today projector mints a pending placeholder for every slot of the current day, so a medication added in the afternoon carries placeholders for that day's earlier slots. The hourly auto-miss pass stamped them as forgotten doses a day later, and every reader that counts raw rows saw a miss on a day before the medication existed: the miss-free streak broke on the creation day. The dose history, the rates and the Coach already ignore such a placeholder; the streak read the row as it was. The pass now stamps a miss only on slots from the medication's creation on. A placeholder before it stays pending, so the web and the app can still offer the slot for logging and a dose recorded for it converges onto it. A migration returns the placeholders an earlier pass already stamped. It touches only rows that can be nothing else: server-minted, never acted on, anchored before the creation but within the day before it, which is where the projector's placeholders sit. An older auto-miss carried in with restored history keeps its state. Refs #1028