alarm, sched: Fix #3281

Fix wrap around when snoozed through midnight
master
Erik Andresen 2024-03-21 22:06:13 +01:00
parent 31d24d77d0
commit db32e9df6e
6 changed files with 7 additions and 2 deletions

View File

@ -49,3 +49,4 @@
0.44: Add "delete timer after expiration" setting to events. 0.44: Add "delete timer after expiration" setting to events.
0.45: Fix new alarm when selectedAlarm is undefined 0.45: Fix new alarm when selectedAlarm is undefined
0.46: Show alarm groups if the Show Group setting is ON. Scroll alarms menu back to previous position when getting back to it. 0.46: Show alarm groups if the Show Group setting is ON. Scroll alarms menu back to previous position when getting back to it.
0.47: Fix wrap around when snoozed through midnight

View File

@ -28,6 +28,8 @@ const iconTimerOff = "\0" + (g.theme.dark
// An array of alarm objects (see sched/README.md) // An array of alarm objects (see sched/README.md)
var alarms = require("sched").getAlarms(); var alarms = require("sched").getAlarms();
// Fix possible wrap around in existing alarms #3281
alarms.forEach(e => e.t %= 86400000);
function handleFirstDayOfWeek(dow) { function handleFirstDayOfWeek(dow) {
if (firstDayOfWeek == 1) { if (firstDayOfWeek == 1) {

View File

@ -2,7 +2,7 @@
"id": "alarm", "id": "alarm",
"name": "Alarms & Timers", "name": "Alarms & Timers",
"shortName": "Alarms", "shortName": "Alarms",
"version": "0.46", "version": "0.47",
"description": "Set alarms and timers on your Bangle", "description": "Set alarms and timers on your Bangle",
"icon": "app.png", "icon": "app.png",
"tags": "tool,alarm", "tags": "tool,alarm",

View File

@ -25,3 +25,4 @@
0.22: Dated event repeat option 0.22: Dated event repeat option
0.23: Allow buzzing forever when an alarm fires 0.23: Allow buzzing forever when an alarm fires
0.24: Emit alarmReload when alarms change (used by widalarm) 0.24: Emit alarmReload when alarms change (used by widalarm)
0.25: Fix wrap around when snoozed through midnight

View File

@ -1,7 +1,7 @@
{ {
"id": "sched", "id": "sched",
"name": "Scheduler", "name": "Scheduler",
"version": "0.24", "version": "0.25",
"description": "Scheduling library for alarms and timers", "description": "Scheduling library for alarms and timers",
"icon": "app.png", "icon": "app.png",
"type": "scheduler", "type": "scheduler",

View File

@ -36,6 +36,7 @@ function showAlarm(alarm) {
alarm.ot = alarm.t; alarm.ot = alarm.t;
} }
alarm.t += settings.defaultSnoozeMillis; alarm.t += settings.defaultSnoozeMillis;
alarm.t %= 86400000;
Bangle.emit("alarmSnooze", alarm); Bangle.emit("alarmSnooze", alarm);
} else { } else {
let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del;