Skip to content

Release 7.8.0: chore order, Earn table sort/filter, edit selected chores - #1232

Merged
tempus2016 merged 11 commits into
mainfrom
release/v7.8.0
Nov 5, 2026
Merged

tempus2016 merged 11 commits into
mainfrom
release/v7.8.0

Conversation

@tempus2016

Copy link
Copy Markdown
Owner

Release 7.8.0: three chore-ordering and chore-management features, built and tested on separate branches and landed together.

Added

  • Available chores first on the Child Card ([Feature]: Better filtering for kid's chores dashboard #1231): chores the child can do now go to the top, then chores for later today, then missed ones, then finished ones. A finished chore stays in place while it can still be undone and for a few seconds after the tap. Card option sort_available_first (default on), with an editor toggle. Works in every design.
  • Chore order on cards ([Feature]: Better filtering for kid's chores dashboard #1231): Settings → General, with the choices Manual / Time of day / Name / Date added. The sensors publish each child's effective chore_order, so the Child, Kiosk, Routine and Sticker Chart cards and the watch's next chore all follow it. Each child's own order is kept underneath.
  • Sort everyone's chores once ([Feature]: Better filtering for kid's chores dashboard #1231): new taskmate/sort_chore_orders WS command. It writes a preset into every child's own order in one save.
  • Sortable, filterable Earn chore table ([Feature]: Improved filtering/sorting of chores in "Earn" page #1173): click-to-sort headings (asc / desc / saved order), filters for Assigned, Period, Schedule, Approval and Status, and new Mode and Status columns. Phones get a Sort select, because the headings are hidden there.
  • Edit selected ([Feature]: Mass editing of chores in "Earn" page #1174): new taskmate/bulk_edit_chores WS command. It changes only the switched-on settings (points, children, schedule, time of day, approval) on every selected chore. Each chore goes through async_update_chore; any that refuse are skipped and named. One save and one refresh per batch.

Changed

  • The Reorder Card and the panel's reorder dialog say when a family-wide sort is in charge.
  • Manifest version 7.8.0. Wiki: Settings, Admin Panel, Dashboard Cards and Children pages.

New strings are translated into every locale. New tests: tests/test_chore_sort.py, tests/test_bulk_edit_chores.py and three frontend test files. Tested on the dev HA instance, at desktop and phone widths.

Closes #1231
Closes #1173
Closes #1174

Available chores first: the child card puts what can be done now at the
top, then chores still to come today, then missed ones, then finished
ones (once the child undo window has closed and a short settle after the
tap). Card option sort_available_first, on by default, with an editor
toggle; works in every design.

Chore order on cards: a family-wide setting (Manual / Time of day / Name /
Date added). Non-manual modes sort every child's chores automatically,
new chores included; the sensors publish the effective order so the
child, kiosk, routine and sticker-chart cards and the watch's next chore
all follow it. Each child's manual order is kept underneath.

Sort everyone's chores once: a panel action (taskmate/sort_chore_orders)
writes a preset into every child's manual order in one save, for
fine-tuning with the reorder card afterwards.

The reorder card and the panel's reorder dialog say when a family-wide
sort is in charge. New strings translated into every locale.
Click a heading to sort by it (ascending, descending, back to the saved
order); a filter row narrows by child, time of day, schedule, approval
and enabled. New Mode and Status columns. The view only changes what
the panel shows; the saved order is untouched. Strings translated into
every locale.
Select mode on the Earn page gains Edit selected: switch on the settings
to change (points, children, schedule, time of day, approval) and only
those are written to every selected chore. New taskmate/bulk_edit_chores
command runs each chore through the normal update checks, skips and
names any that refuse, and saves and refreshes once. Strings translated
into every locale.
# Conflicts:
#	custom_components/taskmate/www/locales/da.json
#	custom_components/taskmate/www/locales/da/panel.json
#	custom_components/taskmate/www/locales/de.json
#	custom_components/taskmate/www/locales/de/panel.json
#	custom_components/taskmate/www/locales/en-GB.json
#	custom_components/taskmate/www/locales/en-GB/panel.json
#	custom_components/taskmate/www/locales/en.json
#	custom_components/taskmate/www/locales/en/panel.json
#	custom_components/taskmate/www/locales/fr.json
#	custom_components/taskmate/www/locales/fr/panel.json
#	custom_components/taskmate/www/locales/nb.json
#	custom_components/taskmate/www/locales/nb/panel.json
#	custom_components/taskmate/www/locales/nl.json
#	custom_components/taskmate/www/locales/nl/panel.json
#	custom_components/taskmate/www/locales/nn.json
#	custom_components/taskmate/www/locales/nn/panel.json
#	custom_components/taskmate/www/locales/pl.json
#	custom_components/taskmate/www/locales/pl/panel.json
#	custom_components/taskmate/www/locales/pt-BR.json
#	custom_components/taskmate/www/locales/pt-BR/panel.json
#	custom_components/taskmate/www/locales/pt.json
#	custom_components/taskmate/www/locales/pt/panel.json
# Conflicts:
#	custom_components/taskmate/www/locales/da.json
#	custom_components/taskmate/www/locales/da/panel.json
#	custom_components/taskmate/www/locales/de.json
#	custom_components/taskmate/www/locales/de/panel.json
#	custom_components/taskmate/www/locales/en-GB.json
#	custom_components/taskmate/www/locales/en-GB/panel.json
#	custom_components/taskmate/www/locales/en.json
#	custom_components/taskmate/www/locales/en/panel.json
#	custom_components/taskmate/www/locales/fr.json
#	custom_components/taskmate/www/locales/fr/panel.json
#	custom_components/taskmate/www/locales/nb.json
#	custom_components/taskmate/www/locales/nb/panel.json
#	custom_components/taskmate/www/locales/nl.json
#	custom_components/taskmate/www/locales/nl/panel.json
#	custom_components/taskmate/www/locales/nn.json
#	custom_components/taskmate/www/locales/nn/panel.json
#	custom_components/taskmate/www/locales/pl.json
#	custom_components/taskmate/www/locales/pl/panel.json
#	custom_components/taskmate/www/locales/pt-BR.json
#	custom_components/taskmate/www/locales/pt-BR/panel.json
#	custom_components/taskmate/www/locales/pt.json
#	custom_components/taskmate/www/locales/pt/panel.json
#	custom_components/taskmate/www/taskmate-panel.js
# Conflicts:
#	custom_components/taskmate/www/locales/da.json
#	custom_components/taskmate/www/locales/da/panel.json
#	custom_components/taskmate/www/locales/de.json
#	custom_components/taskmate/www/locales/de/panel.json
#	custom_components/taskmate/www/locales/en-GB.json
#	custom_components/taskmate/www/locales/en-GB/panel.json
#	custom_components/taskmate/www/locales/en.json
#	custom_components/taskmate/www/locales/en/panel.json
#	custom_components/taskmate/www/locales/fr.json
#	custom_components/taskmate/www/locales/fr/panel.json
#	custom_components/taskmate/www/locales/nb.json
#	custom_components/taskmate/www/locales/nb/panel.json
#	custom_components/taskmate/www/locales/nl.json
#	custom_components/taskmate/www/locales/nl/panel.json
#	custom_components/taskmate/www/locales/nn.json
#	custom_components/taskmate/www/locales/nn/panel.json
#	custom_components/taskmate/www/locales/pl.json
#	custom_components/taskmate/www/locales/pl/panel.json
#	custom_components/taskmate/www/locales/pt-BR.json
#	custom_components/taskmate/www/locales/pt-BR/panel.json
#	custom_components/taskmate/www/locales/pt.json
#	custom_components/taskmate/www/locales/pt/panel.json
@github-actions github-actions Bot added documentation Improvements or additions to documentation backend Python integration code cards Lovelace cards / frontend (www/*.js) translations i18n / locale strings tests Test suite labels Nov 5, 2026
@tempus2016
tempus2016 merged commit 2472265 into main Nov 5, 2026
18 checks passed
@tempus2016
tempus2016 deleted the release/v7.8.0 branch November 5, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Python integration code cards Lovelace cards / frontend (www/*.js) documentation Improvements or additions to documentation tests Test suite translations i18n / locale strings

Projects

None yet

1 participant