The daily reminder job ran at a hardcoded 6 AM. Make the hour configurable: - dailyWorker: resolveReminderHour() reads the global 'reminder_hour' setting (clamp 0–23, default 6) as the single source for both the cron expression and the next-run display; the task is stored so rescheduleDailyWorker() can restart it live (defensively wrapped so a bad value can't take the worker down). - notifications admin GET/PUT expose reminder_hour; PUT clamps, persists, and live-reschedules the worker. - Admin Email Notifications card: a "Reminder send time" select (account-wide). It's a global setting by design — there's one shared daily job, so a per-user hour would require an hourly-worker refactor (out of scope) and would otherwise be a dead setting. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| pages | ||
| public/img | ||
| App.tsx | ||
| api.ts | ||
| index.css | ||
| main.tsx | ||
| types.ts | ||