Added
- Workers can now use either a daily flat rate or an hourly rate (
rate_type = 'hourly') (#239). The worker form has a rate-type selector; check-out computesminutes_workedfrom the session duration, rounds to the nearest 15 minutes, and stores the resulting amount. The visit editor shows a live recalculation preview when adjusting worked minutes. - Decay tasks (recurring chores) can now be edited, deleted, and undone directly from the chore list (#244). Undo clears
last_completed, resetting the urgency indicator to "not yet done". - Housekeeping visits can be edited from the dashboard (recent-visits strip) and from the calendar — tapping a housekeeping calendar event opens the visit editor via a deep-link (
?editVisit=<id>) (#245). - Staff accounts (users with a
housekeeping_workersrow) are now hidden from task-assignment pickers, dashboard member avatars, and the family contact list; their birthday entries remain visible in the calendar and birthday list (#243).
Security
- Accounts linked to a housekeeping worker row are now blocked from logging in (#243). The login endpoint returns HTTP 403 for such accounts, preventing staff from accessing family data.