Chore dependencies and recurrence_done_mode both turn out to have been broken in the frontend — this release makes them work — and Approve All goes from ~7s of apparent silence to a fifth of a second with a proper busy state.
Fixed
- Approve All no longer looks like it did nothing. Bulk approval reused the single-approval path per chore, so it ran a full coordinator rebuild — plus a state write for every TaskMate entity — once per completion. Approving 60 pending chores took 7.40s, with nothing pushed to the frontend until the very end, so the panel and the Approvals card sat completely unchanged for that whole window. It now refreshes once for the batch: the same 60 approvals take 0.21s. (#797, fixes #794)
- Approve All now shows a busy state — the button is disabled and shows a spinner with "Approving…", on both the admin panel and the Approvals card. A second tap is ignored, so the same sweep cannot be queued twice. Honours
prefers-reduced-motion. (#801, fixes #799) - Chore dependencies work again — they were unusable from the frontend. The admin panel built its chore-save payload without
depends_on, so a dependency never persisted, and could never be cleared once set. Separately the child card had no dependency check at all, so a blocked chore always rendered as available. Thanks to @flyingtech for a report that pinpointed both causes. (#802, fixes #793) recurrence_done_modewas dead code. The child card read two availability fields that nothing ever assigned, sodimnever dimmed, the recurrence label was unreachable, andhidenever hid —showwas the only behaviour you could get, whatever you set. (#804, fixes #803)recurrence_done_mode: showno longer leaves a dead-tappable chore. Completing a recurring chore inside its window is a no-op server-side, so the row invited a tap and silently swallowed it. It is now non-tappable under bothdimandshow, matchingdependency_mode. (#806, fixes #805)- The Approvals card can see previous-day approvals and mandatory misses again. The attribute resolver referenced
sensor.pending_approvals; the real entity issensor.taskmate_pending_approvals, so that sensor was never merged and the card silently fell back to today-only data. That stranded any approval left pending overnight and hid the missed-mandatory review block entirely — 185 invisible mandatory misses on the test instance. (#800, fixes #798) - Scheduled notification triggers are now cancelled when the integration unloads. (#792)
Added
-
Picture mode can show point values instead of stars. The star row rounds and clamps to 1–5, so a 7-point and an 8-point chore both drew four stars — disagreeing with the totals shown everywhere else. Set
pre_reader_points: truefor the exact value, drawn with your family's points icon. Off by default, so existing picture-mode dashboards keep their stars. (#796, closes #795)type: custom:taskmate-child-card entity: sensor.taskmate_overview child_id: <child_id> pre_reader: true pre_reader_points: true # +7 instead of ★★★★
-
dependency_modeon the child card controls how a chore waiting on another appears. Find it in the card editor under Chores Waiting On Another. (#802)Value Behaviour hide(default)Not shown until it unlocks — matches the backend, which reports it unavailable dimGreyed out and not tappable, with a "Do X first" note naming the prerequisite showNormal opacity, still not tappable dependency_mode: dim
Changed
recurrence_done_mode: showis now described as "show normally (still not tappable)" in all 8 locales — the old wording promised behaviour that never worked.- Every new string ships translated into de, en, en-GB, fr, nb, nn, pt and pt-BR.
- Large internal cleanup: dead constants, unused card parameters, duplicated helpers and the built-in template chores consolidated. No behaviour change. (#792)
Upgrading
No action needed — nothing here changes existing configuration. Both new options default to today's behaviour (pre_reader_points: false, dependency_mode: hide).
If you had set up chore dependencies before and concluded they did nothing, they were genuinely not being saved — set them again in Admin Panel → Chores → Edit chore → Depends on.
Full changelog: v5.1.1...v5.2.0