fn warn_user_idle_failure(err: &Error)Expand description
Surface a UserIdle::get_time error to the log, at most once per
USER_IDLE_WARN_INTERVAL_SECS. Without this gate the production
code silently fell back to “0 = active” forever, so a broken
platform call (X11 down, macOS API change, Wayland portal denied)
would invisibly break idle suppression and screen-time tracking.