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.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.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)
var alarms = require("sched").getAlarms();
// Fix possible wrap around in existing alarms #3281
alarms.forEach(e => e.t %= 86400000);
function handleFirstDayOfWeek(dow) {
if (firstDayOfWeek == 1) {

View File

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

View File

@ -25,3 +25,4 @@
0.22: Dated event repeat option
0.23: Allow buzzing forever when an alarm fires
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",
"name": "Scheduler",
"version": "0.24",
"version": "0.25",
"description": "Scheduling library for alarms and timers",
"icon": "app.png",
"type": "scheduler",

View File

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