fn warn_user_idle_failure(err: &str, backoff_secs: u64)Expand description
Surface a UserIdle::get_time failure 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.
backoff_secs is how long the probe is now suppressed for, so the
log explains why the per-second errors stop.