fix(alarms): keep a skip on the next ring after any edit, and say when a pause ends
Moving the time or changing the days left a pending skip pointing at the old sequence, so the skipped day could ring at its new time. Every editor change that can move a fire time now re-arms the skip. A pause under way now reads "Paused, back on Thu, Oct 29" instead of naming its last day, which read as the day it ends before. Reopening a begun pause keeps its start, the date pickers take their bounds from the clock when they open, and the dismiss chooser shows the scheduled date and pause like the list does.
This commit is contained in:
1 parent
471cbdabd8
commit
1dcd743e5b
11 files changed
+101
-53
No files matched your search
@@ -1329,11 +1329,12 @@ occurrence ring late through the grace window. The resolver reports
|
||||
and the engine writes them as column-targeted `UPDATE`s conditional on the
|
||||
stored value still being the one it resolved, so a pause the editor has just
|
||||
picked is never cleared by a resolution of the old one, and no other column is
|
||||
rewritten. Changing a pause calls `AlarmEngine.onPauseChanged`, which drops a
|
||||
skip watermark still in the future so the resolver re-arms it on the new
|
||||
sequence: removing a pause must not leave the skip on the first ring after the
|
||||
old one, and adding a pause over the skipped day must not spend the skip on a
|
||||
day already silent.
|
||||
rewritten. Every editor write that can move a fire time (time, days, date,
|
||||
pause) goes through `AlarmEngine.onScheduleEdited`, which drops a skip
|
||||
watermark still in the future so the resolver re-arms it on the new sequence:
|
||||
removing a pause must not leave the skip on the first ring after the old one,
|
||||
adding a pause over the skipped day must not spend the skip on a day already
|
||||
silent, and moving the time must not let the skipped day ring at the new time.
|
||||
|
||||
The surfaces never show a stale one in the meantime: `AlarmSchedule` shows a
|
||||
date only while its occurrence is still ahead and a pause only while its last
|
||||
|
||||
Reference in new issue
Block a user