mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-02-21 10:16:43 +00:00
* Fix call_at to use event loop time base instead of Unix timestamp The CoreSys.call_at method was incorrectly passing Unix timestamps directly to asyncio.loop.call_at(), which expects times in the event loop's monotonic time base. This caused scheduled jobs to be scheduled approximately 55 years in the future (the difference between Unix epoch time and monotonic time since boot). The bug was masked by time-machine 2.19.0, which patched time.monotonic() and caused loop.time() to return Unix timestamps. Time-machine 3.0.0 removed this patching (as it caused event loop freezes), exposing the bug. Fix by converting the datetime to event loop time base: - Calculate delay from current Unix time to scheduled Unix time - Add delay to current event loop time to get scheduled loop time Also simplify test_job_scheduled_at to avoid time-machine's async context managers, following the pattern of test_job_scheduled_delay. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Add comment about dateime in the past --------- Co-authored-by: Claude <noreply@anthropic.com>