Lukas
0265ae2a70
feat: cron-based scheduler with auto-download after rescan
- Replace asyncio sleep loop with APScheduler AsyncIOScheduler + CronTrigger
- Add schedule_time (HH:MM), schedule_days (days of week), auto_download_after_rescan fields to SchedulerConfig
- Add _auto_download_missing() to queue missing episodes after rescan
- Reload config live via reload_config(SchedulerConfig) without restart
- Update GET/POST /api/scheduler/config to return {success, config, status} envelope
- Add day-of-week pill toggles to Settings -> Scheduler section in UI
- Update JS loadSchedulerConfig / saveSchedulerConfig for new API shape
- Add 29 unit tests for SchedulerConfig model, 18 unit tests for SchedulerService
- Rewrite 23 endpoint tests and 36 integration tests for APScheduler behaviour
- Coverage: 96% api/scheduler, 95% scheduler_service, 90% total (>= 80% threshold)
- Update docs: API.md, CONFIGURATION.md, features.md, CHANGELOG.md
2026-02-21 08:56:17 +01:00
..
2026-02-15 17:49:11 +01:00
2026-02-15 17:49:11 +01:00
2025-10-30 21:22:43 +01:00
2026-02-15 17:49:11 +01:00
2026-02-15 17:49:11 +01:00
2026-02-15 17:49:11 +01:00
2026-01-17 22:50:25 +01:00
2026-02-15 17:49:11 +01:00
2025-12-25 18:05:33 +01:00
2026-02-15 17:49:11 +01:00
2026-01-17 22:50:25 +01:00
2026-01-26 21:07:39 +01:00
2026-02-15 17:49:11 +01:00
2025-10-24 19:55:26 +02:00
2025-10-24 18:27:34 +02:00
2026-01-17 22:50:25 +01:00
2026-02-02 07:14:29 +01:00
2026-01-31 15:29:53 +01:00
2026-01-16 18:50:04 +01:00
2026-02-15 17:49:11 +01:00
2026-01-18 12:07:37 +01:00
2026-01-21 19:36:54 +01:00
2026-02-15 17:49:11 +01:00
2026-01-17 22:50:25 +01:00
2026-02-15 17:49:11 +01:00
2026-02-15 17:49:11 +01:00
2026-02-15 17:49:11 +01:00
2026-02-21 08:56:17 +01:00
2026-02-01 11:35:57 +01:00
2026-02-15 17:49:11 +01:00
2026-01-17 22:50:25 +01:00
2026-02-01 09:55:18 +01:00
2025-10-19 20:27:30 +02:00