Files
family-hub/.claude-context/sessions/2026-09-24-kiosk-resets-dashboards-rooms.md

38 lines
3.0 KiB
Markdown

# 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 `<redacted>`.
## 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`).