fix(reminders): keep a check-up's due date when only its details are edited

Every edit of a reminder recomputed its due date from now, so fixing
the label or the location of an open, overdue check-up moved it to its
next slot, the same "gone until next year" the reminder tick caused.
The due date is now recomputed only when the edit changes when the
reminder recurs: the interval, the rule, the first due date (compared
by value, since the edit forms resend every field), or switching a
disabled reminder back on. A notify-hour edit keeps the due day and
moves the hour on it, together with a snooze pinned to that slot.
This commit is contained in:
Marc-André Bombeck committed 2026-09-26 10:05:54 +02:00
1 parent 93881c1f93
commit cd79cfaae9
5 files changed
+106 -15

No files matched your search

+6 -3
View File
@@ -13350,8 +13350,11 @@ paths:
tags:
- MeasurementReminders
summary: Edit a Vorsorge reminder (v1.17.1)
description: Partial edit; omitted fields are left untouched. nextDueAt is recomputed server-side after the cadence
merge. Owner-scoped.
description: Partial edit; omitted fields are left untouched. nextDueAt is recomputed server-side only when the edit
changes when the reminder recurs (intervalDays, rrule, anchorDate compared by value, or enabled switched back
on); that recompute also clears a snooze. A notifyHour-only edit keeps the due day and moves the hour on it. Any
other edit (label, location, measurementType) leaves nextDueAt as it is, so an open, overdue check-up stays due.
Owner-scoped.
parameters:
- in: path
name: id
@@ -26953,7 +26956,7 @@ components:
enabled:
type: boolean
description: Partial edit of a Vorsorge reminder. Omitted fields are left untouched; nextDueAt is recomputed server-side
after the patch applies.
when the cadence changes and otherwise kept (a notifyHour edit moves only the hour on the same due day).
MeasurementReminderSnooze:
type: object
properties: