mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 21:32:18 +00:00
fix(checkups): keep a missed rolling reminder due until it is measured
A rolling reminder ("every N days") is anchored on its last reading, but
the reminder tick rolled any cycle of a week or less on after a delivered
reminder, re-anchoring it on the send. A missed every-two-days blood
pressure reading therefore moved two days ahead each evening, read "in 2
days" on the card, and never showed as today or overdue.
A rolling reminder now stays due after its reminder, whatever its
interval, until a reading lands or it is done, skipped or snoozed. While
it stays open the repeat follows its interval, capped at a week, still in
its notify hour and under the per-day claim. Calendar rules that recur
within a week (a twice-daily course) keep rolling on; appointments are
unchanged.
holdsOpenAfterReminder stays the one definition for the tick and the
edit route. The daily digest asks the narrower question underneath it,
hasLongCycle, so a short rhythm still waits for its time of day on the
start page and is not pinned under the rail cap.
Refs #1369
This commit is contained in:
1 parent
d110f0456c
commit
ea3fcce80c
15 files changed
+530
-116
No files matched your search
@@ -16986,12 +16986,13 @@ paths:
|
||||
- MeasurementReminders
|
||||
summary: List Vorsorge reminders (v1.17.1)
|
||||
description: "Returns the owner's live (non-tombstoned) Vorsorge reminders, sorted by server-computed nextDueAt
|
||||
ascending (nulls last). Each row carries the canonical nextDueAt the client renders without recomputing. Since
|
||||
v1.39.2 a reminder whose cycle is longer than seven days (intervalDays > 7, an rrule whose next occurrence is
|
||||
more than seven days out) or that has no cadence keeps its nextDueAt after its reminder is sent, with or without
|
||||
a measurementType: it stays due, then overdue, until it is satisfied (a matching reading or lab result, or
|
||||
completed), skipped or snoozed, and the server repeats the reminder at most once every seven local days while it
|
||||
stays open. A reminder on a weekly or shorter cycle still rolls on to its next slot after a delivered reminder."
|
||||
ascending (nulls last). Each row carries the canonical nextDueAt the client renders without recomputing. A
|
||||
rolling reminder (intervalDays, any length), an rrule reminder whose next occurrence is more than seven days
|
||||
out, and a reminder with no cadence keep their nextDueAt after their reminder is sent, with or without a
|
||||
measurementType: they stay due, then overdue, until satisfied (a matching reading or lab result, or completed),
|
||||
skipped or snoozed. While one stays open the server repeats the reminder every intervalDays local days for a
|
||||
rolling reminder, capped at seven, and every seven local days otherwise. An rrule reminder that recurs within
|
||||
seven days rolls on to its next slot after a delivered reminder."
|
||||
responses:
|
||||
"200":
|
||||
description: The owner's measurement reminders.
|
||||
|
||||
Reference in new issue
Block a user