100 Commits
Author SHA1 Message Date
Jannis 8dc1fee67c kleiner Test
Deploy / prod (push) Skipped
Deploy / test (push) Successful in 1m2s
2026-10-17 16:12:19 +02:00
JannisandClaude Sonnet 5.5 21bb5b8732 ci: move deploy config dir to /home/jannis/familyplanner (snap docker)
Deploy / prod (push) Skipped
Deploy / test (push) Failing after 3s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 13:24:36 +02:00
JannisandClaude Sonnet 5.5 87f338ed68 fix: bump ASP.NET Core/EF Core to 10.0.13 and pin vulnerable transitive packages
Deploy / prod (push) Skipped
Deploy / test (push) Failing after 14s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 11:40:58 +02:00
JannisandClaude Sonnet 5.5 bdf47d0f01 ci: use external Nginx Proxy Manager instead of Caddy
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 09:09:48 +02:00
JannisandClaude Sonnet 5.5 aa37b44e00 ci: Gitea Actions deploy for test (main) and prod (tags) stacks
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 21:23:12 +02:00
JannisandClaude Sonnet 5.5 b23e92360b feat: Phase 18 Haus - cameras with MJPEG streaming, per-camera access, admin UI
CI / build-and-test (push) Failing after 1m19s
CI / docker-images (FamilyPlanner.Api) (push) Skipped
CI / docker-images (FamilyPlanner.MigrationService) (push) Skipped
CI / docker-images (FamilyPlanner.Web) (push) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 20:38:14 +02:00
JannisandClaude Sonnet 5.5 0aa0947727 fix: house plan editor script scoping, single announcement of switch state, ADR note
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 16:22:11 +02:00
JannisandClaude Sonnet 5.5 0d9a03dcd5 feat: Phase 17 Haus - Shelly devices, per-device shares, floor plans with pins
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 16:18:14 +02:00
JannisandClaude Sonnet 5.5 13ab82d9d6 feat: Phase 16 reading passages and word problems
- LearningSet.Passage (plain text, <= 3000 chars, normalized, locked after the first attempt); true/false as fixed-option choice items
- passage shown with every question for the child (runner, result) and in parent review; photo/answer-check AI prompts get it as delimited material
- editor field, true/false helper, AI draft task kind (standard, reading comprehension, word problems) with prompt, schema and parser checks
- migration Phase16LearningText; unit, bUnit and integration tests; docs (ROADMAP, ARCHITECTURE, ADR-0021 addendum)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 15:35:22 +02:00
JannisandClaude Sonnet 5.5 ab505d4a4f feat: Phase 15 birthdays - user birth dates and calendar birthday template
- AppUser.BirthDate (optional): admin edits in user management, every user edits own via PUT /api/auth/me/birth-date; validator (not before 1900, not future); BirthdayRules (age, leap day 29.2. -> 28.2.)
- Privacy: directory BirthDate only for self, admin and family; audit log without the value
- Calendar template "Geburtstag": CalendarEvent.BirthDate, all-day yearly series enforced server-side, age and display title per occurrence, ICS/CalDAV export as single series with category, BirthDate kept on CalDAV PUT
- Migration Phase15Birthdays, tests (unit, bUnit, integration), docs (ROADMAP, ARCHITECTURE, ADR-0015 addendum)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 15:16:32 +02:00
JannisandClaude Sonnet 5.5 2ce15cb32d feat: AI prompts - disable system prompt, per-user admin AI settings, always-logged chat prompts and failures, admin-editable draft prompt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 14:55:30 +02:00
JannisandClaude Sonnet 5.5 0c886652cf feat: Google AI provider, provider fallback with notice, model lists, adult AI chat settings
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 12:39:37 +02:00
Jannis 6f11f12c90 merge: 12c CalDAV 2026-10-10 22:31:28 +02:00
Jannis dec2371be1 merge: 12b AI log and web search 2026-10-10 22:31:20 +02:00
Jannis 19ea6d7f0a merge: aa29e771b136e00b0 2026-10-10 22:31:07 +02:00
JannisandClaude Sonnet 5.5 ca82002bd6 feat: accept client-style CalDAV week start rules; test all-day, TZID and alarm payloads
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 22:30:48 +02:00
JannisandClaude Sonnet 5.5 91b42c8907 docs: CalDAV two-way sync (ADR-0017 addendum, roadmap, architecture, README, deploy)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 22:20:03 +02:00
Jannis 49a0fb8ec5 feat: UI to connect phones via CalDAV app passwords 2026-10-10 22:18:08 +02:00
Jannis 58b3194878 fix: CalDAV hrefs with encoded slashes survive the proxy 2026-10-10 22:15:47 +02:00
JannisandClaude Sonnet 5.5 18231c24c1 docs: AI log and web search (ADR-0020/0022, architecture, roadmap phase 12b)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 22:11:26 +02:00
JannisandClaude Sonnet 5.5 7c4e1d2df5 feat: edit meal ingredients as a list with a per-ingredient shopping basket button
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 22:08:38 +02:00
Jannis 6b6cbe953d test: CalDAV integration tests 2026-10-10 22:07:28 +02:00
Jannis 8bd463ed55 test: unit tests for CalDAV protocol logic 2026-10-10 22:05:30 +02:00
JannisandClaude Sonnet 5.5 88a6375d96 feat: CalDAV server with app password authentication
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 22:03:55 +02:00
Jannis f788f0b9d1 test: AI log, retention, web search adapters, prompt and UI 2026-10-10 22:00:33 +02:00
JannisandClaude Sonnet 5.5 ac38444e1e feat: put a whole learning sheet on paper in one step, also from the AI draft
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 21:58:03 +02:00
JannisandClaude Sonnet 5.5 bf5a1b9a89 feat: AI log admin view, retention and web search settings in the UI
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 21:57:46 +02:00
JannisandClaude Sonnet 5.5 77ab48a954 feat: add CalDAV app password entity and migration Phase12cCalDav
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 21:57:41 +02:00
JannisandClaude Sonnet 5.5 e0fdfbbdda feat: persistent AI exchange log, web search opt-in on provider and request (backend)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 21:55:57 +02:00
JannisandClaude Sonnet 5.5 298d765465 docs: add paper sheets, web search, AI log, ingredient list and calendar sync to the backlog
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 21:50:40 +02:00
JannisandClaude Sonnet 5.5 164e988906 fix: open the user menu on click of the initials (MudBlazor 9 custom activator)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 21:22:27 +02:00
JannisandClaude Sonnet 5.5 4a5703adce fix: stop Ollama thinking, allow longer chat replies and show prompt and raw AI answer to admins
Thinking models (qwen3) spent the token budget on reasoning and returned empty or
truncated content. Ollama requests now send think=false, chat replies get 3000 tokens
and <think> blocks are stripped. Admins see the last 20 AI exchanges (in memory only,
never the private AI chat) in the KI tab.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 20:39:17 +02:00
Jannis 24e9d37154 merge: Phase 11c learning auto 2026-10-10 19:27:52 +02:00
Jannis 375c314b6a merge: Phase 11b chat extras 2026-10-10 19:27:30 +02:00
Jannis 6f19949b5c docs: dedupe architecture rows after merge 2026-10-10 19:27:20 +02:00
Jannis 9796f86596 merge: Phase 11d meal wishlist 2026-10-10 19:27:14 +02:00
Jannis 2ec0d40447 merge: Phase 11a small improvements 2026-10-10 19:27:06 +02:00
JannisandClaude Sonnet 5.5 3c0f6b4b7c docs: phase 11c in roadmap, architecture and ADR-0021; unit tests for schedule api helpers
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 19:21:08 +02:00
JannisandClaude Sonnet 5.5 8978cebd17 feat: schedule tab 'Automatisch' with dialog, pause, delete and run-now
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 19:19:14 +02:00
Jannis 5a4e4c2e88 test: integration tests for learning schedules 2026-10-10 19:14:59 +02:00
JannisandClaude Sonnet 5.5 dcbcac5ed8 feat: learning schedules (entities, rules, runner, endpoints, background service, migration Phase11cLearningAuto)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 19:09:48 +02:00
JannisandClaude Sonnet 5.5 4d9842f9bd docs: ADR-0022 chat extensions, roadmap phase 11b, architecture
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 19:06:51 +02:00
JannisandClaude Sonnet 5.5 5e67075f8a test: integration tests for AI chat channel and GIF feature flag
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 19:05:47 +02:00
Jannis ab55a0dd4f docs: phase 11a in roadmap and architecture 2026-10-10 19:05:40 +02:00
JannisandClaude Sonnet 5.5 034b2ef790 refactor: share the AI draft pipeline between endpoint and upcoming automation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 19:04:17 +02:00
Jannis 5be06b247c test: integration tests for dashboard notes and shopping plausibility 2026-10-10 19:03:25 +02:00
JannisandClaude Sonnet 5.5 3d22ed8747 test: unit tests for chat extensions
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:59:17 +02:00
JannisandClaude Sonnet 5.5 bd6e272f57 feat: optional AI cross-check of unclear number answers
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:58:02 +02:00
JannisandClaude Sonnet 5.5 154e400d13 test: bUnit tests for emoji, GIF and AI chat
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:57:57 +02:00
JannisandClaude Sonnet 5.5 19269277e2 docs: describe the meal wishlist in ADR-0013, architecture and roadmap
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:56:58 +02:00
JannisandClaude Sonnet 5.5 66b5f4e751 feat: emoji picker, GIF search dialog and AI chat entry in the chat UI
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:55:12 +02:00
Jannis 8dc923cd6e feat: dashboard info tile UI with edit dialog, quick-add confirmation, tests 2026-10-10 18:55:09 +02:00
JannisandClaude Sonnet 5.5 5ce407f401 test: cover the meal wishlist (rules, validators, bUnit, integration); fix: bind wishlist search and sort as expressions
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:54:31 +02:00
JannisandClaude Sonnet 5.5 b612c3345b feat: migration Phase11bChat
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:52:41 +02:00
JannisandClaude Sonnet 5.5 773f5e5b1e feat: AI chat channel, GIF search proxy and settings (backend)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:52:21 +02:00
Jannis 545162479c feat: show who added a shopping item, confirm implausible child entries 2026-10-10 18:50:53 +02:00
JannisandClaude Sonnet 5.5 019060ccea feat: turn the dish catalog into a permanent meal wishlist (domain, api, migration, ui)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:49:58 +02:00
Jannis b7dac20fc2 feat: rule-based plausibility check for children's shopping entries 2026-10-10 18:49:13 +02:00
JannisandClaude Sonnet 5.5 49b779f3b1 feat: chat channel kind Ai, ChatAssistant purpose and chat rules
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:48:45 +02:00
JannisandClaude Sonnet 5.5 d2ef08e17b feat: show the confirmed grade in the head of the child's result page
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:48:36 +02:00
Jannis 2473ecd539 feat: dashboard info notes (entity, permission, endpoints, migration) 2026-10-10 18:47:52 +02:00
Jannis f98b1c21c4 test: adjust unit rule for numbers 2026-10-10 18:47:47 +02:00
JannisandClaude Sonnet 5.5 62b3afe9c8 feat: read numbers with units and euro/cent spellings tolerantly
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 18:47:17 +02:00
Jannis 81ab2af5e3 test: cover account settings page 2026-10-10 18:46:19 +02:00
Jannis c04fa1df44 feat: add account settings page with theme choice 2026-10-10 18:45:26 +02:00
JannisandClaude Sonnet 5.5 cb70a2f0a6 docs: add chat, meal, learning and dashboard ideas to the roadmap backlog
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 17:24:22 +02:00
JannisandClaude Sonnet 5.5 50854cf237 fix: describe the AI draft JSON shape in the prompt and accept a differently named item list
Local models may ignore the response schema (e.g. returning "exercises" instead of "items"), which made every draft fail.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 16:48:28 +02:00
JannisandClaude Sonnet 5.5 606db3990c test: share one fake AI api between learning bUnit tests after merging 10b and 10c
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 15:28:06 +02:00
JannisandClaude Sonnet 5.5 a8f763cfeb merge: Phase 10c paper solutions by photo
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 15:21:54 +02:00
JannisandClaude Sonnet 5.5 a6bc071efc fix: save AI photo suggestions one by one, allow long AI calls, plain AI reasons; docs: phase 10c in ADR-0021, roadmap, architecture
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 15:15:41 +02:00
JannisandClaude Sonnet 5.5 86bdcdf379 merge: Phase 10b AI draft generation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:58:23 +02:00
JannisandClaude Sonnet 5.5 b3d0546d6b test: cover photo rules, AI grading, mapper leaks and photo/AI/retention endpoints
Unit tests for signature/size/retention rules, strict AI schema and confidence handling,
prompt content and child DTO leak checks; integration tests for rights (404 for strangers),
deadline 409, invalid files, fake-server AI grading including missing provider/opt-in cases,
and retention. Retention 0 deletes photos at confirmation; photos past retention are purged lazily.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:58:19 +02:00
JannisandClaude Sonnet 5.5 acfbfaa4b2 docs: document learning AI drafts (phase 10b) in ADR-0021, roadmap and architecture
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:52:29 +02:00
JannisandClaude Sonnet 5.5 2cd976ee3e feat: add AI draft assistant to the learning UI
Adds the Mit KI erstellen dialog to the parent overview (shown from
GET /api/ai/status), a cloud privacy hint, the review report and a
KI-generiert, bitte pruefen notice in the set editor. bUnit coverage for
visibility, dialog states and escaped output.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:51:16 +02:00
JannisandClaude Sonnet 5.5 b68c708113 feat: add AI draft endpoint for learning sheets with server-side checks
POST /api/learning/sets/ai-draft (LearningManage + AiUse) builds a fixed system
prompt from validated parameters, validates every returned task, recomputes
number solutions and stores the result as an unassigned draft with provenance.
AiStatusDto reports whether the generation provider is a cloud provider.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:48:00 +02:00
JannisandClaude Sonnet 5.5 32091a825e feat: photo upload for paper tasks, photo review and AI photo grading UI
PhotoUpload component (camera and file picker, preview, replace/remove), photo next to task and
model solution in AttemptReview, parent-triggered AI grading button visible only when the status
offers photo grading, retention setting in the admin settings editor, bUnit coverage.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:44:40 +02:00
JannisandClaude Sonnet 5.5 225f02a18b feat: learning photos, paper tasks and AI photo grading (phase 10c backend)
Adds LearningPhoto (bytes in DB, signature check, 5 MB limit), upload/delete for the target child
while the attempt runs, retrieval for parents and the child only (404 otherwise, no-store, nosniff),
a retention service driven by a new family setting, and the parent-triggered AI photo grading
(explicit provider, image opt-in, strict schema, confidence, low confidence stays open).
Migration Phase10cPhotos.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:41:40 +02:00
JannisandClaude Sonnet 5.5 f40818269e feat: add safe arithmetic expression evaluator for checking AI math solutions
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:36:46 +02:00
JannisandClaude Sonnet 5.5 e1c1492fc5 merge: Phase 10a learning tasks
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:31:20 +02:00
JannisandClaude Sonnet 5.5 cb48c542af fix: skip deleted sheets when auto-submitting, log rejected writes, test the background sweeper
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:28:09 +02:00
JannisandClaude Sonnet 5.5 8fb34ba6b9 docs: document learning tasks phase 10a in ADR-0021, roadmap, architecture and dashboard ADR
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:18:26 +02:00
JannisandClaude Sonnet 5.5 d1ff7dd291 fix: show only parent comments as feedback reasons to children
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:18:26 +02:00
JannisandClaude Sonnet 5.5 24a6a1aa66 test: cover learning UI with bUnit including controllable exam clock
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:11:28 +02:00
JannisandClaude Sonnet 5.5 bab50cfe90 feat: add learning UI with kid runner, exam countdown, parent editor and review
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 14:11:27 +02:00
JannisandClaude Sonnet 5.5 42406598c7 test: cover learning rules, grading, grade scales, validators and child DTO visibility
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 13:52:38 +02:00
JannisandClaude Sonnet 5.5 cc129eb1e5 test: cover learning API flows, rights, time limit, points and live events
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 13:49:09 +02:00
JannisandClaude Sonnet 5.5 9c72a6f768 feat: add learning API slice with attempts, review, points and dashboard tile
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 13:33:25 +02:00
JannisandClaude Sonnet 5.5 5f54d10223 feat: add learning domain, grading rules, permissions and Phase10aLearning migration
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 13:28:21 +02:00
JannisandClaude Sonnet 5.5 e1cb189c54 docs: record learning task decisions and AI integration progress
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 11:03:29 +02:00
JannisandClaude Sonnet 5.5 7fad82ae7a test: cover AI rules, adapters, administration UI and integration flows
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 11:03:28 +02:00
JannisandClaude Sonnet 5.5 65993c268b feat: add AI administration tab with provider dialog, test and usage overview
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 11:03:28 +02:00
JannisandClaude Sonnet 5.5 1da4423c52 feat: add AI service with Ollama, Claude and OpenAI-compatible adapters and admin API
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 11:03:28 +02:00
JannisandClaude Sonnet 5.5 14241c45f1 feat: add AI provider domain, rules and Phase9Ai migration
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 11:03:28 +02:00
JannisandClaude Sonnet 5.5 6790243689 docs: plan AI integration and learning tasks as phases 9 and 10
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 10:42:55 +02:00
JannisandClaude Sonnet 5.5 cc4f65b32d docs: document chat decisions and update roadmap
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 08:48:07 +02:00
JannisandClaude Sonnet 5.5 aa9b5e332a test: cover chat rules, UI and end-to-end behavior
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 08:48:07 +02:00
JannisandClaude Sonnet 5.5 e802ccf760 feat: add chat UI with unread badges, paging, images and reactions
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 08:48:07 +02:00
JannisandClaude Sonnet 5.5 65d4f13773 feat: add chat API with live events, typing relay and dashboard unread count
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 08:48:07 +02:00
JannisandClaude Sonnet 5.5 0678a0e460 feat: add chat domain, persistence and Phase8Chat migration
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 08:48:07 +02:00
JannisandClaude Sonnet 5.5 0fb8382765 docs: document dashboard decision and update roadmap
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 08:10:30 +02:00