Skip to content

2.2.1 — a damaged settings file can no longer kill the timer

Latest

Choose a tag to compare

@valerkaaa valerkaaa released this 04 Nov 12:26
· 4 commits to master since this release

2.2.1 — a damaged settings file can no longer kill the timer

A hardening release: the daemon survives whatever is written into its state directory, and a real suspend test writes a real log.

Shutdown Timer

Fixed

  • A damaged settings.json no longer kills the daemon. Numeric settings
    land straight in $(( )), and a bare name there is fatal under set -u: a
    hand-written "notifyEarlyMins": "abc" ended the process on the next reload
    (abc: unbound variable), and the widget restarted it straight into the same
    crash — with a pending shutdown lost. Every numeric setting is now validated
    and clamped to the range the manifest and Service.qml already document
    (early warning, overlay seconds, snooze step, snooze limit, battery
    threshold): a string falls back to the default, an absurd number is clamped
    instead of obeyed. tests/test_state_files.sh damages all three state files
    (settings, state, schedules) and proves the daemon survives the damage, keeps
    its documented ranges, and still arms, snoozes and cancels afterwards.
  • suspend/hibernate no longer fail silently: if neither systemctl nor the
    Omarchy helper works (no resume device, no logind seat), the log says so
    instead of the timer just going back to IDLE.

Install or update

omarchy plugin add https://github.com/valerkaaa/omarchy-shutdown-timer --enable
# or
omarchy plugin update honor.shutdown-timer

Full notes in CHANGELOG.md.