Merge branch 'master' into add-heartbeat-tooltip

This commit is contained in:
Frank Elsinga 2025-07-11 23:42:06 +02:00 committed by GitHub
commit fad5117ab5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 4 deletions

View file

@ -720,7 +720,7 @@ export default {
// Configure auto-refresh loop // Configure auto-refresh loop
feedInterval = setInterval(() => { feedInterval = setInterval(() => {
this.updateHeartbeatList(); this.updateHeartbeatList();
}, (this.config.autoRefreshInterval + 10) * 1000); }, Math.max(5, this.config.autoRefreshInterval) * 1000);
this.updateUpdateTimer(); this.updateUpdateTimer();
}).catch( function (error) { }).catch( function (error) {
@ -806,7 +806,15 @@ export default {
clearInterval(this.updateCountdown); clearInterval(this.updateCountdown);
this.updateCountdown = setInterval(() => { this.updateCountdown = setInterval(() => {
const countdown = dayjs.duration(this.lastUpdateTime.add(this.config.autoRefreshInterval, "seconds").add(10, "seconds").diff(dayjs())); // rounding here as otherwise we sometimes skip numbers in cases of time drift
const countdown = dayjs.duration(
Math.round(
this.lastUpdateTime
.add(Math.max(5, this.config.autoRefreshInterval), "seconds")
.diff(dayjs())
/ 1000
), "seconds");
if (countdown.as("seconds") < 0) { if (countdown.as("seconds") < 0) {
clearInterval(this.updateCountdown); clearInterval(this.updateCountdown);
} else { } else {

View file

@ -121,8 +121,8 @@ test.describe("Status Page", () => {
await expect(page.getByTestId("update-countdown-text")).toContainText("00:"); await expect(page.getByTestId("update-countdown-text")).toContainText("00:");
const updateCountdown = Number((await page.getByTestId("update-countdown-text").textContent()).match(/(\d+):(\d+)/)[2]); const updateCountdown = Number((await page.getByTestId("update-countdown-text").textContent()).match(/(\d+):(\d+)/)[2]);
expect(updateCountdown).toBeGreaterThanOrEqual(refreshInterval); // cant be certain when the timer will start, so ensure it's within expected range expect(updateCountdown).toBeGreaterThanOrEqual(refreshInterval - 10); // cant be certain when the timer will start, so ensure it's within expected range
expect(updateCountdown).toBeLessThanOrEqual(refreshInterval + 10); expect(updateCountdown).toBeLessThanOrEqual(refreshInterval);
await expect(page.locator("body")).toHaveClass(theme); await expect(page.locator("body")).toHaveClass(theme);