Agenda by default on phones and week on desktop, person colors and filters, task layer, quick entry dialog with recurrence editor and series scope prompt, subscription page with webcal/https links, copy and QR, admin calendar and token management, ICS import dialog. Blazor now boots with retries for _framework resources.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Range/upcoming/CRUD endpoints with occurrence or series scope, admin calendar management, token-protected ICS feeds with ETag/Last-Modified/304 and rate limiting, own VTIMEZONE writer (Ical.Net 5.2.3 emits a broken DAYLIGHT block), ICS import with UID duplicate detection, QR codes via QRCoder and CalendarChanged notifications only to readers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FamilyCalendar with per-role/per-user grants capped by the role matrix, CalendarEvent with UTC storage, person tags, RRULE series, EXDATE and overrides, IcsFeed with hashed tokens; expansion reuses the Phase 5 recurrence evaluator in wall-clock time. Seeds the default calendar and adds migration Phase6Calendar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Unit tests for the RRULE parser/evaluator (DST in Europe/Berlin, month end, leap years, COUNT/UNTIL), next-instance scheduling, status/approval/points rules, visibility and permissions, views, validators, field application and Web Push crypto (RFC 8291 test vector, VAPID JWT, endpoint allowlist); bUnit tests for the tasks page, editor, kid view, approvals, dialogs, offline store and notifications page; integration tests for CRUD, per-role 403/404, private task invisibility, chore approval with points, recurring instances, idempotency, SignalR and push subscriptions.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tasks page with quick add and expandable editor (due date/time, reminder, priority, category, assignment, private, chores/points/approval, recurrence builder, checklist), views Meine/Familie/Nach Person/Überfällig/Diese Woche with filters and sorting, approval panel, points panel, history and edit dialogs, kid-friendly card view, TaskStore with localStorage cache and outbox for offline create and status changes, live task events, notifications page with service worker push handling.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Minimal API slice /api/tasks (idempotent create with client ids, versioned updates, state-based status changes, checklist, parent approval/rejection, points overview and audited adjustments, recurring next instance), per-user SignalR broadcasts that respect private tasks, /api/push subscription endpoints, a dependency-free Web Push sender (RFC 8291/8292) and a minimal reminder service. VAPID keys via Aspire parameters and deploy/.env (tools/generate-vapid-keys.cs); integration test login limit raised.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Own RRULE subset (DAILY/WEEKLY/MONTHLY/YEARLY, INTERVAL, BYDAY with ordinals, BYMONTHDAY, BYMONTH, COUNT/UNTIL) with a wall-time evaluator for Europe/Berlin, task entities (assignments, checklist, history, points ledger), visibility and permission rules, status/approval workflow, next-instance scheduling, views and web push subscriptions. New permission TasksApprove, shared contracts and validators, migration Phase5Tasks.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ADR-0013 (slots, upsert with version check, move/swap, wish workflow, ingredients to shopping list, live updates), architecture and README updates, phase 4 ticked in the roadmap (offline editing intentionally deferred).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Unit tests for period, meal types, move/swap, recipe URLs, ingredient transfer, wish rules and validators; bUnit tests for list/grid rendering, dialogs, child/guest permissions, drag and drop, move menu and live updates; integration tests for CRUD with version conflicts, 403s, the wish workflow, swaps, ingredients to the shopping list and SignalR broadcasts.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Day list on phones and week grid on desktop, entry dialog with autocomplete from previous dishes, note, recipe link and ingredients, drag and drop between slots (swap when occupied) plus a move menu for touch and keyboard, ingredients-to-shopping dialog, wish dialog for children and accept/reject for family. Live updates via the shared SignalR connection.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Minimal API slice /api/meals: plan for a period, upsert per slot with version check (409 with current entry), soft delete, move with swap in a transaction, dish suggestions, ingredients to a shopping list (parser, learned categories, duplicates skipped) and the wish workflow (children propose and see only their own wishes, family/admin accept into a slot or reject). Permissions are enforced server-side; changes are broadcast via /hubs/live (meals group, wishes as payload-free notification to the family group).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
MealPlanEntry (one active entry per day + meal via filtered unique index, row version, soft delete), Dish catalog for autocomplete and MealWish workflow (open/accepted/rejected). MealPlanRules cover the 7-10 day period, effective meal types, move/swap planning, recipe URL validation and object-level wish permissions; IngredientTransfer reuses the quantity parser for shopping items. Meal plan days are now limited to 7-10 (migration Phase4MealPlanner adjusts existing settings). Shared DTOs and FluentValidation validators for API and client.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Quick entry with parsing and suggestion chips, items grouped by aisle, tap to check, swipe or button to remove, list management dialog, live/offline/pending status. ShoppingStore keeps a localStorage cache and an idempotent outbox that syncs on reconnect, online events and periodically; LiveConnection reconnects endlessly.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Endpoints for lists, items, clear-done and suggestions with idempotent add/delete, state-based check-off, row-version conflicts (409 with current state), learned categories and SignalR events to the shopping group.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MudBlazor admin area with user table (mobile cards), create/edit dialog with shared validation, color and avatar upload, password reset and PIN dialogs, settings editor and paged audit log. Client policies use effective permissions from /api/auth/me.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Permission policies with settings-aware handler and expiry check in the fallback policy; admin endpoints for create/update/delete (soft delete), password reset, unlock, PIN and avatar upload with signature validation; last-active-admin guard; settings and paged audit log; user directory; PIN login behind Features:PinLogin.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PermissionMatrix maps every requirement row to Full/Restricted/None per role, with guest exceptions from family settings. AppUser gets soft delete, AppSignInManager rejects inactive/expired accounts, new UserAvatar and AuditLogEntry entities, task categories in settings, shared FluentValidation validators and migration Phase2AdminAndSettings.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Web host serves the WebAssembly app without prerendering and proxies /api, /hubs and /ics to the Api via YARP. MudBlazor shell with German UI, dark mode, drawer and bottom navigation, login and forced password change, manifest, icons and service worker.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
EF Core context with Identity, audit interceptor, soft-delete filters and data protection keys; migrations worker seeds roles, settings and the initial admin. Auth endpoints (login, logout, me, change password) with lockout, rate limiting, CSRF header and role-based policies.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AppHost orchestrates SQL Server (persistent volume), migrations worker, Api and Web and registers the Docker Compose environment. ServiceDefaults expose /health and /alive in all environments.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>