Skip to content

v2.17.0

Choose a tag to compare

@iluebbe iluebbe released this 05 Jul 11:59
· 519 commits to master since this release

A feature wave: eight roadmap items ship at once, plus two long-planned panel refactors and a full test-coverage audit with remediation. No breaking changes.

✨ New

  • Task priority — Low / Normal / High per task, editable everywhere, shown as a badge (▲/▼) on task rows.
  • Labels / tags — lightweight comma-separated tags per task, shown as chips and searchable in the command palette (Ctrl+K).
  • Completion photos — attach a photo when completing a task (camera capture supported); stored via the documents engine (deduplicated, backup-safe) and shown in the history timeline.
  • Native To-do entity — a global todo.maintenance list mirrors every active task; checking an item off completes the task. Works with the To-do card and Assist/voice.
  • Shared maintenance & rotation — assign a task to several household members and rotate responsibility on each completion (round-robin / least-completed / random).
  • Missed status + completion window — skipping an overdue task records it as Missed; an optional per-task earliest completion window blocks signing tasks off too early.
  • Multiple lead-time reminders — opt-in extra reminders at e.g. 14 / 3 / 0 days before due, honouring quiet hours, vacation mode, snooze, per-user routing and the daily limit.
  • Warranty-expiry reminders — opt-in one-time reminder N days before an object's warranty runs out (default 30).
  • Snooze from the panel — the notification snooze is now in the task ⋮ menu.

⚡ Panel performance & internals

  • Virtualized task table for large installs — above 120 rows only the visible window is in the DOM, with jitter-free column alignment (verified live with ~300 tasks).
  • Task-detail modularized into renderers/task-detail.ts (panel ~2.9k → ~2.5k lines).
  • Parity by construction — task-field enums/bounds come from one shared source consumed by the WS schemas, sanitizer and all config-flow selectors.
  • Dark-mode tokens — status colours all route through HA theme variables.

✅ Test hardening (coverage audit)

A systematic user-story-vs-tests audit; all ten identified gaps closed — including a permission-enforcement matrix over all 59 WS commands (frozen tier inventory + escalation-boundary proofs), the completion dialog's exact payloads, bulk actions, QR deep-link routing, and the vacation/calendar cards. Suites now at ~2,400 backend + 205 frontend tests.

🐛 Fixes

  • Runtime-trigger chart shows the current cycle (0 → live hours, reset each completion) instead of raw entity statistics.
  • Dialogs opened from the dashboard strategy now load the user's locale instead of falling back to English.

Full changelog: https://github.com/iluebbe/maintenance_supporter/blob/master/CHANGELOG.md