mirror of
https://github.com/kuhyx/wake-alarm.git
synced 2026-11-10 19:27:02 +01:00
On 2026-09-19 the phone was powered off after the bathroom tag and nothing on the PC noticed: every finished session was published and nothing read it. Now wake-alarm distils the phone's morning into an HMAC-signed ~/.local/state/wake_alarm/morning_session.json (wake-alarm-session.timer, 07:00-11:00 every 2 min) that screen-locker and leetcode-guard read to defer their locks -- provisionally until min(start + 90 min, 09:30) while the session is live, until 11:00 once it completed inside that cutoff, and not at all for a session finished later (the phone switched on at noon completes the legs then; that must un-lock nothing). The phone publishes the session at start as well as at finish (current_session, cleared with the finish stamp), so the PC can tell "started, not finished" from "never started". A required 1-5 energy tap joins the weigh-in and ships as latest_energy with a PC reader mirroring _weight (the shared half is _field_reader). Also fixes the vmbox harness, red since the 2026-09-11 home-tidy: the guest tree lives at ~/wake-alarm, and the INSTALL-OK grep matched vm's echo of the command line. Takes Flutter 3.47.5. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Tp54ewdXRLaimUuT8LgYyn |
||
|---|---|---|
| .. | ||
| alarm_arming.dart | ||
| alarm_policy.dart | ||
| alarm_publisher.dart | ||
| alarm_scheduler.dart | ||
| alarm_sync_service.dart | ||
| challenge.dart | ||
| dismiss_gate.dart | ||
| firebase_backend.dart | ||
| free_day_pool.dart | ||
| free_day_sync.dart | ||
| google_platform_io.dart | ||
| google_platform_web.dart | ||
| google_platform.dart | ||
| google_sign_in_backend.dart | ||
| home_location_settings.dart | ||
| home_presence.dart | ||
| morning_session.dart | ||
| ring_startup.dart | ||
| room_proof_settings.dart | ||
| room_proof.dart | ||
| session_handoff.dart | ||
| session_json.dart | ||
| session_notice.dart | ||
| session_publisher.dart | ||
| session_rules.dart | ||
| session_store.dart | ||
| session_sync.dart | ||
| session_tag_settings.dart | ||
| settings_sync.dart | ||
| sync_settings.dart | ||
| weight_entry.dart | ||