alarm, sched: Fix #3281

Fix timer
master
Erik Andresen 2024-03-22 20:35:06 +01:00
parent db32e9df6e
commit b135420a6b
2 changed files with 4 additions and 4 deletions

View File

@ -28,8 +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);
// Fix possible wrap around in existing alarms #3281, broken alarms still needs to be saved to get fixed
alarms.forEach(e => e.t %= 86400000); // This can probably be removed in the future when we are sure there are no more broken alarms
function handleFirstDayOfWeek(dow) {
if (firstDayOfWeek == 1) {
@ -499,7 +499,7 @@ function showEditTimerMenu(selectedTimer, timerIndex) {
function prepareTimerForSave(timer, timerIndex, time, temp) {
timer.timer = require("time_utils").encodeTime(time);
timer.t = require("time_utils").getCurrentTimeMillis() + timer.timer;
timer.t = (require("time_utils").getCurrentTimeMillis() + timer.timer) % 86400000;
timer.last = 0;
if (!temp) {

View File

@ -35,7 +35,7 @@ exports.setAlarm = function(id, alarm) {
if (alarm.timer) { // if it's a timer, set the start time as a time from *now*
var time = new Date();
var currentTime = (time.getHours()*3600000)+(time.getMinutes()*60000)+(time.getSeconds()*1000);
alarm.t = currentTime + alarm.timer;
alarm.t = (currentTime + alarm.timer) % 86400000;
}
alarms.push(alarm);
}