# Kiosk Redesign, Calendar Reset Schedules, Dashboards and Room Editor **Date:** 2026-09-24 **Project:** family-hub **Status:** blocked **Tags:** kiosk, apscheduler, reset-schedules, dashboards, rooms, migrations, pets, auth ## Context Recorded retrospectively: this work was done in an August 2026 session (exact date not recorded). After a house move, chore resets stopped firing and weekly chores reset at unpredictable times. That session fixed scheduling and added four features in the **local** codebase (`D:\Hosted\familyhub\`). None of it has been pushed to this repo yet, and none of the four migrations have been run — status is blocked on applying them. ## Key Decisions - **Wire APScheduler into FastAPI's lifespan explicitly** — it does not start on its own; this was why resets never fired. - **No destructive reset-on-startup** — wiping completions at startup combined with `--reload` caused data loss. - **Calendar-anchored reset types (`weekly`, `fortnightly`, `monthly`) with a day/time picker** replace misused `midnight` and drifting `cooldown` types; `cooldown` anchors to completion time and drifts. - **Kiosk: chore-first flow** — room grid → chores in room → "who did this?" modal. Completed chores stay visible, greyed, with attribution. - **Custom kiosk dashboards** — each wall tablet shows a chosen subset of rooms, with per-dashboard sleep/dim schedule and tap-to-wake. - **Room/category editor** — rename (cascades to chores and dashboards), emoji icons, reorder, merge, delete-with-reassign, create. - **Pet care split** — pet chores move into per-pet categories; shared water-bowl chore handled by a configurable split / assign / keep mode. - **Kiosk auth** — the axios 401 interceptor must exempt public kiosk pages; token lifetime 24h so tablets don't log out mid-use. ## Technical Details - Live DB: `backend\data\family_hub.db` (not `backend\family_hub.db`). Migrations resolve it with `Path(__file__).parent / "data" / "family_hub.db"`. - Migration order (must be run in sequence): **reset schedules → dashboards → pet care split → rooms**. - Backend started via `start.bat`, venv at `backend\venv`; icons in `frontend\public\icons\`. - Household members and pets are configured in the app — names ``. ## Code Changes - (local only, unpushed) Scheduler lifespan wiring; new reset types + picker UI; kiosk room→chore→who flow; dashboards model/UI with sleep schedule; room editor; four migration scripts. ## Open Questions / Next Steps - Back up `backend\data\family_hub.db`, run the four migrations in order, validate, then commit and push the local changes. - Resolve the outstanding README merge conflict in this repo. - Confirm which Gitea repo is canonical — `family-hub` (this one) or the private `familyhub` — and archive the other. - Future: Google Calendar integration (high priority), Mealie menu planning/shopping lists, Home Assistant push notifications, unified dashboard. ## Artifacts - None pushed yet — last pushed commit is Phase 3.1 (`11abfac`).