feat(mileage): refine daily report controls

This commit is contained in:
kkfluous
2026-08-12 23:11:35 +08:00
parent bd0627d00f
commit 7fce6b8474
2 changed files with 142 additions and 15 deletions
@@ -3,6 +3,7 @@ import { hasDailyReportSnapshot } from './daily-report-store.js';
const FIRST_CHECK_DELAY_MS = 15 * 1000;
const SUMMARY_MINUTE_OF_DAY = 30;
const SUMMARY_WINDOW_MINUTES = 5;
let archiving = false;
function shanghaiMinuteOfDay(): number {
@@ -39,7 +40,12 @@ function millisecondsUntilNextSummary(): number {
}
async function checkAndArchive(): Promise<void> {
if (archiving || shanghaiMinuteOfDay() < SUMMARY_MINUTE_OF_DAY) return;
const minuteOfDay = shanghaiMinuteOfDay();
if (
archiving
|| minuteOfDay < SUMMARY_MINUTE_OF_DAY
|| minuteOfDay >= SUMMARY_MINUTE_OF_DAY + SUMMARY_WINDOW_MINUTES
) return;
const reportDate = previousShanghaiDate();
archiving = true;
try {