screen-locker/screen_locker
Krzysztof kuhy Rudnicki 67a8cf5b17 Add heat-skip feature and fix early-bird 9:00 re-check gap
Heat skip: if Warsaw temperature >= 32°C at locker startup, a fullscreen
dark-themed dialog asks the user to confirm skipping. Temperature is always
fetched from wttr.in automatically (user cannot self-report). Fail-closed:
API unavailable → no dialog, normal lock. Placed before skip-credit
consumption so credits are preserved when heat skip is used instead.
Logs a heat_skip entry (with temperature) to workout_log.json; does not
count toward weekly minimum. Visible in --status as "Heat skips (month)".

Early-bird gap fix: the re-check timer now fires at both 08:30 (normal
5:00–8:30 window) and 09:05 (extended 5:00–9:00 window earned by 5+
workout weeks). Previously the 08:30 run would see the window still active
on extended weeks and never re-check after 9:00.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QCx1roriuXzFgrzFXtugb
2026-06-29 11:23:19 +02:00
..
tests Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
__init__.py Fix test discovery and coverage for python_pkg modules 2025-12-02 22:33:34 +01:00
_auto_upgrade.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_constants.py Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00
_early_bird.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_extra_benefits.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_heat_skip.py Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00
_log_mixin.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_phone_verification.py Restore consistency with WORKOUT_APP_JSON_REMOTES rename in _constants.py 2026-06-22 07:05:07 +02:00
_runnerup_db.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_runnerup_verification.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_shutdown_base.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_shutdown.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_sick_dialog.py chore: set up as standalone repo 2026-05-28 07:43:06 +02:00
_sick_tracker.py Migrate to the shared gatelock backend 2026-06-21 20:11:16 +02:00
_status.py Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00
_temperature.py Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00
_time_check.py chore: set up as standalone repo 2026-05-28 07:43:06 +02:00
_ui_flows_relaxed.py refactor: enforce 400-line file limit with pre-commit hook and split outliers 2026-05-28 21:19:18 +02:00
_ui_flows.py Add auto-fill RunnerUp scan, carrot bonuses, and --status interface 2026-06-28 08:08:35 +02:00
_ui_widgets.py refactor: enforce 400-line file limit with pre-commit hook and split outliers 2026-05-28 21:19:18 +02:00
_wake_state.py Migrate to the shared gatelock backend 2026-06-21 20:11:16 +02:00
_weekly_check.py Add RunnerUp automatic run verification via ADB DB pull 2026-06-25 17:50:24 +02:00
_window_setup.py Migrate to the shared gatelock backend 2026-06-21 20:11:16 +02:00
adjust_shutdown_schedule.sh Apply focus-mode, screen-locker, and steam backlog updates 2026-05-03 22:41:53 +02:00
extra_benefits_state.json Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00
scheduled_skips.json Update screen locker state: scheduled skips and runtime state files 2026-06-28 08:11:57 +02:00
screen_lock.py Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00
shutdown_base.json Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00
sick_history.json Update screen locker state: scheduled skips and runtime state files 2026-06-28 08:11:57 +02:00
workout_log.json Add heat-skip feature and fix early-bird 9:00 re-check gap 2026-06-29 11:23:19 +02:00