fix: rolling over midnight wrongly classified as skip

This commit is contained in:
Carlos Valente
2024-12-18 23:51:51 +01:00
committed by Carlos Valente
parent 29e682ee06
commit e6dfe9c363
2 changed files with 7 additions and 2 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import { MILLIS_PER_MINUTE } from 'ontime-utils';
export const timerConfig = {
skipLimit: 1000, // threshold of skip for recalculating
skipLimit: 1000, // threshold of skip for recalculating, values lower than updateRate can cause issues with rolling over midnight
updateRate: 32, // how often do we update the timer
notificationRate: 1000, // how often do we notify clients and integrations
triggerAhead: 10, // how far ahead do we trigger the end event
@@ -99,10 +99,15 @@ class RuntimeService {
});
this.handleLoadNext();
this.rollLoaded(keepOffset);
} else if (skippedOutOfEvent(newState, this.lastIntegrationClockUpdate, timerConfig.skipLimit)) {
} else if (
// if there is no previous clock, we could not have skipped
RuntimeService.previousState?.clock &&
skippedOutOfEvent(newState, RuntimeService.previousState.clock, timerConfig.skipLimit)
) {
// if we have skipped out of the event, we will recall roll
// to push the playback to the right place
// this comes with the caveat that we will lose our runtime data
logger.warning(LogOrigin.Playback, 'Time skip detected, reloading roll');
this.roll(true);
}
}