{ "date": "2026-03-23", "day_number": 62, "weekday": "Montag", "commits": 93, "authors": [ { "name": "Till JS", "count": 93 } ], "additions": 31154, "deletions": 66808, "net_lines": -35654, "files_changed": 738, "new_files": 0, "deleted_files": 0, "session": { "first_commit_at": "2026-03-23T07:44:47.000Z", "last_commit_at": "2026-03-23T21:51:07.000Z", "total_span_minutes": 846, "active_minutes": 461, "pauses": [ { "from": "13:51", "to": "20:16", "minutes": 385 } ], "longest_focus_minutes": 307 }, "top_dirs": [ { "path": "apps/citycorners/apps/web", "pct": 7 }, { "path": "apps/presi/apps/mobile", "pct": 6 }, { "path": "apps-archived/mukke/apps", "pct": 6 }, { "path": "apps/todo/apps/web", "pct": 5 }, { "path": "{services/llm-playground => apps/playground", "pct": 4 } ], "top_extensions": [ { "ext": ".ts", "count": 258 }, { "ext": ".svelte", "count": 150 }, { "ext": ".md", "count": 111 }, { "ext": ".tsx", "count": 97 }, { "ext": ".json", "count": 92 }, { "ext": "", "count": 40 } ], "tags": ["citycorners", "todo-web", "todo", "matrix", "mukke"], "commits_list": [ { "hash": "bae5bb9", "short": "fix(error-tracking): switch to ESM output for SvelteKit compatibility", "type": "fix", "scope": "error-tracking", "additions": 2, "deletions": 2, "timestamp": "2026-03-23T08:44:47+01:00" }, { "hash": "b37d5f0", "short": "docs(devlog): add devlog for 2026-03-22", "type": "docs", "scope": "devlog", "additions": 281, "deletions": 0, "timestamp": "2026-03-23T08:53:20+01:00" }, { "hash": "abc7f95", "short": "fix(todo): fix FAB close button hidden behind PillNav and move settings/mana to account dropdown", "type": "fix", "scope": "todo", "additions": 14, "deletions": 19, "timestamp": "2026-03-23T08:57:15+01:00" }, { "hash": "20b3669", "short": "fix(mukke): position MiniPlayer above PillNav to prevent overlap", "type": "fix", "scope": "mukke", "additions": 11, "deletions": 3, "timestamp": "2026-03-23T08:59:12+01:00" }, { "hash": "a4a7f6e", "short": "fix(todo): rename 'Aufgaben' to 'Liste' in PillNav for clarity", "type": "fix", "scope": "todo", "additions": 1, "deletions": 1, "timestamp": "2026-03-23T09:06:31+01:00" }, { "hash": "31b84bb", "short": "fix(todo): use Spiral icon for Spiral nav item instead of Sparkle", "type": "fix", "scope": "todo", "additions": 3, "deletions": 1, "timestamp": "2026-03-23T09:07:51+01:00" }, { "hash": "073c216", "short": "fix(docker): add shared-error-tracking package to all 15 web Dockerfiles", "type": "fix", "scope": "docker", "additions": 60, "deletions": 0, "timestamp": "2026-03-23T09:08:33+01:00" }, { "hash": "6fa6509", "short": "feat(observability): add metrics and monitoring for all 15 backends", "type": "feat", "scope": "observability", "additions": 692, "deletions": 474, "timestamp": "2026-03-23T09:09:04+01:00" }, { "hash": "c1ef55f", "short": "fix(infra): rename LightWrite to Mukke in Caddyfile production config", "type": "fix", "scope": "infra", "additions": 3, "deletions": 3, "timestamp": "2026-03-23T09:26:54+01:00" }, { "hash": "dd477d5", "short": "feat(analytics): expand umami tracking in todo, calendar, and contacts apps", "type": "feat", "scope": "analytics", "additions": 39, "deletions": 5, "timestamp": "2026-03-23T09:27:30+01:00" }, { "hash": "a12ec68", "short": "fix(docker): add shared-nestjs-metrics to 5 backend Dockerfiles", "type": "fix", "scope": "docker", "additions": 20, "deletions": 0, "timestamp": "2026-03-23T09:31:21+01:00" }, { "hash": "c8de944", "short": "feat(monitoring): add GlitchTip health check and disk space monitoring", "type": "feat", "scope": "monitoring", "additions": 81, "deletions": 7, "timestamp": "2026-03-23T09:33:09+01:00" }, { "hash": "761421f", "short": "docs(analytics): update ANALYTICS.md with new tracking events", "type": "docs", "scope": "analytics", "additions": 11, "deletions": 2, "timestamp": "2026-03-23T09:33:25+01:00" }, { "hash": "c0c64aa", "short": "docs(analytics): fix outdated information in ANALYTICS.md", "type": "docs", "scope": "analytics", "additions": 43, "deletions": 35, "timestamp": "2026-03-23T09:37:42+01:00" }, { "hash": "55e4f7b", "short": "fix(shared-ui): fix transparent context menu background", "type": "fix", "scope": "shared-ui", "additions": 4, "deletions": 1, "timestamp": "2026-03-23T09:37:53+01:00" }, { "hash": "ae0ba94", "short": "docs(analytics): fix Umami admin URL from umami.mana.how to stats.mana.how", "type": "docs", "scope": "analytics", "additions": 1, "deletions": 1, "timestamp": "2026-03-23T09:38:54+01:00" }, { "hash": "807c5da", "short": "fix(mukke): add media-src to CSP for audio playback from MinIO", "type": "fix", "scope": "mukke", "additions": 42, "deletions": 2, "timestamp": "2026-03-23T09:40:56+01:00" }, { "hash": "3f5c17a", "short": "fix(mukke): fix audio CORS for MinIO presigned URLs", "type": "fix", "scope": "mukke", "additions": 2, "deletions": 0, "timestamp": "2026-03-23T09:51:17+01:00" }, { "hash": "d4d08cc", "short": "fix(spiral-db): add test suite and fix critical bugs", "type": "fix", "scope": "spiral-db", "additions": 2227, "deletions": 163, "timestamp": "2026-03-23T09:52:18+01:00" }, { "hash": "376cfe8", "short": "docs: add tech stack independence analysis and improvement roadmap", "type": null, "scope": null, "additions": 223, "deletions": 0, "timestamp": "2026-03-23T10:01:14+01:00" }, { "hash": "94fead0", "short": "fix(mukke): add unsafe-eval to CSP for Butterchurn shader compilation", "type": "fix", "scope": "mukke", "additions": 2, "deletions": 0, "timestamp": "2026-03-23T10:04:25+01:00" }, { "hash": "cc5ba3b", "short": "chore: remove Hetzner legacy artifacts and update docs for Mac Mini self-hosting", "type": null, "scope": null, "additions": 19, "deletions": 8863, "timestamp": "2026-03-23T10:12:24+01:00" }, { "hash": "7c1e2ac", "short": "chore: remove remaining Hetzner references across codebase", "type": null, "scope": null, "additions": 53, "deletions": 1163, "timestamp": "2026-03-23T10:30:26+01:00" }, { "hash": "67a181b", "short": "chore: major cleanup of legacy docs, reports, and unused configs", "type": null, "scope": null, "additions": 0, "deletions": 25923, "timestamp": "2026-03-23T10:43:11+01:00" }, { "hash": "5bcbb4b", "short": "feat(zitare): integrate spiral-db for visual quote storage", "type": "feat", "scope": "zitare", "additions": 1018, "deletions": 1, "timestamp": "2026-03-23T10:44:39+01:00" }, { "hash": "143112f", "short": "feat(observability): add mana-search, mana-media, and Synapse to monitoring", "type": "feat", "scope": "observability", "additions": 1147, "deletions": 297, "timestamp": "2026-03-23T10:46:59+01:00" }, { "hash": "734ab80", "short": "fix(docker): add patches directory to mana-media Dockerfile", "type": "fix", "scope": "docker", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T10:50:52+01:00" }, { "hash": "cf37d92", "short": "feat(mukke): redesign FullPlayer as immersive fullscreen experience", "type": "feat", "scope": "mukke", "additions": 251, "deletions": 164, "timestamp": "2026-03-23T10:52:10+01:00" }, { "hash": "1c5c244", "short": "feat(citycorners): add city guide app for Konstanz with full monorepo integration", "type": "feat", "scope": "citycorners", "additions": 3663, "deletions": 3, "timestamp": "2026-03-23T10:56:26+01:00" }, { "hash": "512cf41", "short": "feat(citycorners): add location search with QuickInputBar integration", "type": "feat", "scope": "citycorners", "additions": 81, "deletions": 3, "timestamp": "2026-03-23T11:00:10+01:00" }, { "hash": "677a499", "short": "feat(contacts): integrate spiral-db for visual contact network", "type": "feat", "scope": "contacts", "additions": 959, "deletions": 1, "timestamp": "2026-03-23T11:02:19+01:00" }, { "hash": "7910737", "short": "fix(mana-media): use prom-client directly instead of shared metrics package", "type": "fix", "scope": "mana-media", "additions": 247, "deletions": 241, "timestamp": "2026-03-23T11:06:09+01:00" }, { "hash": "ea79625", "short": "chore: fix config conflicts, update README, clean up apps-archived", "type": null, "scope": null, "additions": 41, "deletions": 3825, "timestamp": "2026-03-23T11:06:40+01:00" }, { "hash": "7691f66", "short": "refactor(todo): move Feedback, Themes, Spiral to profile dropdown", "type": "refactor", "scope": "todo", "additions": 34, "deletions": 1, "timestamp": "2026-03-23T11:10:41+01:00" }, { "hash": "a2f8c32", "short": "feat(citycorners): add PWA, i18n (DE/EN), and migrate landing to Tailwind", "type": "feat", "scope": "citycorners", "additions": 1087, "deletions": 972, "timestamp": "2026-03-23T11:11:51+01:00" }, { "hash": "fae139e", "short": "fix(context): remove cloud API keys from mobile app, route through backend", "type": "fix", "scope": "context", "additions": 156, "deletions": 278, "timestamp": "2026-03-23T11:13:55+01:00" }, { "hash": "07365c3", "short": "chore: remove stale docs and outdated design plans", "type": null, "scope": null, "additions": 0, "deletions": 4095, "timestamp": "2026-03-23T11:15:29+01:00" }, { "hash": "40718a7", "short": "chore: remove dead Supabase keys and leaked API keys from env config", "type": null, "scope": null, "additions": 0, "deletions": 60, "timestamp": "2026-03-23T11:25:24+01:00" }, { "hash": "71b9339", "short": "refactor: move llm-playground from services/ to apps/playground/", "type": null, "scope": null, "additions": 527, "deletions": 530, "timestamp": "2026-03-23T11:25:54+01:00" }, { "hash": "9747e10", "short": "fix(todo): add missing shared-app-onboarding to Dockerfile", "type": "fix", "scope": "todo", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T11:37:49+01:00" }, { "hash": "99d1667", "short": "fix(citycorners): add missing shared packages and patches to web Dockerfile", "type": "fix", "scope": "citycorners", "additions": 3, "deletions": 0, "timestamp": "2026-03-23T11:38:45+01:00" }, { "hash": "343f30e", "short": "refactor(manacore-mobile): migrate from Supabase to mana-core-auth", "type": "refactor", "scope": "manacore-mobile", "additions": 907, "deletions": 3480, "timestamp": "2026-03-23T11:41:48+01:00" }, { "hash": "0e8d202", "short": "fix(citycorners): change backend port to 3041 (3025 used by mana-llm)", "type": "fix", "scope": "citycorners", "additions": 6, "deletions": 5, "timestamp": "2026-03-23T11:46:01+01:00" }, { "hash": "c6d5d48", "short": "fix(matrix): prod-readiness fixes for Manalink web app", "type": "fix", "scope": "matrix", "additions": 77, "deletions": 43, "timestamp": "2026-03-23T12:01:22+01:00" }, { "hash": "5bd9679", "short": "refactor(context-mobile): migrate from Supabase to backend API + mana-core-auth", "type": "refactor", "scope": "context-mobile", "additions": 895, "deletions": 2470, "timestamp": "2026-03-23T12:01:58+01:00" }, { "hash": "b767462", "short": "chore: remove @manacore/shared-supabase package", "type": null, "scope": null, "additions": 0, "deletions": 128, "timestamp": "2026-03-23T12:07:14+01:00" }, { "hash": "f71e7d3", "short": "docs: add TODO for rotating leaked API keys from git history", "type": null, "scope": null, "additions": 43, "deletions": 0, "timestamp": "2026-03-23T12:10:53+01:00" }, { "hash": "241cb33", "short": "refactor(auth): standardize URL resolution and token handling across all web auth stores", "type": "refactor", "scope": "auth", "additions": 530, "deletions": 302, "timestamp": "2026-03-23T12:11:52+01:00" }, { "hash": "a4f52df", "short": "fix(citycorners): add /api/v1/ prefix to all API calls and add location submission form", "type": "fix", "scope": "citycorners", "additions": 226, "deletions": 40, "timestamp": "2026-03-23T12:12:56+01:00" }, { "hash": "416e031", "short": "feat(matrix): add tests, E2EE warning, and dynamic homeserver config", "type": "feat", "scope": "matrix", "additions": 726, "deletions": 603, "timestamp": "2026-03-23T12:18:07+01:00" }, { "hash": "0f93496", "short": "feat(citycorners): add web lookup for new locations via mana-search", "type": "feat", "scope": "citycorners", "additions": 323, "deletions": 10, "timestamp": "2026-03-23T12:23:24+01:00" }, { "hash": "c1d390b", "short": "fix(matrix): add patches dir to Dockerfile for pnpm install", "type": "fix", "scope": "matrix", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T12:27:23+01:00" }, { "hash": "e0f7e32", "short": "fix(matrix): copy all packages dir in Dockerfile to fix workspace resolution", "type": "fix", "scope": "matrix", "additions": 2, "deletions": 13, "timestamp": "2026-03-23T12:31:42+01:00" }, { "hash": "34adf50", "short": "fix(matrix): add eslint-config to Dockerfile, revert to explicit package copies", "type": "fix", "scope": "matrix", "additions": 14, "deletions": 2, "timestamp": "2026-03-23T12:32:38+01:00" }, { "hash": "79207bf", "short": "fix(matrix): strip react-native patches in Dockerfile before pnpm install", "type": "fix", "scope": "matrix", "additions": 2, "deletions": 1, "timestamp": "2026-03-23T12:33:36+01:00" }, { "hash": "c59eba7", "short": "test(citycorners): add backend test suite (31 tests) and update documentation", "type": "test", "scope": "citycorners", "additions": 655, "deletions": 15, "timestamp": "2026-03-23T12:44:46+01:00" }, { "hash": "71277ba", "short": "refactor(manadeck-mobile): migrate from custom auth to @manacore/shared-auth", "type": "refactor", "scope": "manadeck-mobile", "additions": 820, "deletions": 3014, "timestamp": "2026-03-23T12:55:28+01:00" }, { "hash": "efcb18a", "short": "refactor(auth): standardize mobile auth return format to { success, error }", "type": "refactor", "scope": "auth", "additions": 79, "deletions": 67, "timestamp": "2026-03-23T12:59:13+01:00" }, { "hash": "da6dd4e", "short": "chore: remove presi mobile app, update outdated mobile docs", "type": null, "scope": null, "additions": 21, "deletions": 6528, "timestamp": "2026-03-23T13:16:29+01:00" }, { "hash": "df0b849", "short": "feat: add org landing page builder service", "type": null, "scope": null, "additions": 2171, "deletions": 4, "timestamp": "2026-03-23T13:20:10+01:00" }, { "hash": "d29348d", "short": "docs: add devlog for morning session + update guidelines to session-based", "type": null, "scope": null, "additions": 190, "deletions": 7, "timestamp": "2026-03-23T13:20:40+01:00" }, { "hash": "994f03c", "short": "fix(landing-builder): add patches dir to Dockerfile for pnpm install", "type": "fix", "scope": "landing-builder", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T13:21:21+01:00" }, { "hash": "060eb01", "short": "fix(landing-builder): simplify Dockerfile COPY steps", "type": "fix", "scope": "landing-builder", "additions": 0, "deletions": 2, "timestamp": "2026-03-23T13:22:00+01:00" }, { "hash": "9d4b59f", "short": "docs(devlog): rewrite morning session devlog with all 61 commits", "type": "docs", "scope": "devlog", "additions": 331, "deletions": 89, "timestamp": "2026-03-23T13:29:38+01:00" }, { "hash": "c788098", "short": "fix(landing-builder): rework Dockerfile to copy workspace directly", "type": "fix", "scope": "landing-builder", "additions": 17, "deletions": 13, "timestamp": "2026-03-23T13:50:22+01:00" }, { "hash": "4313198", "short": "fix(landing-builder): change prod port to 3050 (3030 used by chat)", "type": "fix", "scope": "landing-builder", "additions": 3, "deletions": 3, "timestamp": "2026-03-23T13:51:51+01:00" }, { "hash": "97d6787", "short": "feat(todo-web): redesign task list as physical notepad", "type": "feat", "scope": "todo-web", "additions": 226, "deletions": 127, "timestamp": "2026-03-23T20:16:40+01:00" }, { "hash": "1075e81", "short": "feat(todo-web): show QuickInputBar only on list and kanban views", "type": "feat", "scope": "todo-web", "additions": 71, "deletions": 24, "timestamp": "2026-03-23T20:39:26+01:00" }, { "hash": "92adabc", "short": "feat(todo,contacts): add TagStrip above PillNav, unified with Calendar design", "type": "feat", "scope": "todo,contacts", "additions": 2423, "deletions": 93, "timestamp": "2026-03-23T20:47:41+01:00" }, { "hash": "e00e6ee", "short": "feat(shared-ui): add deferred search mode to QuickInputBar", "type": "feat", "scope": "shared-ui", "additions": 87, "deletions": 5, "timestamp": "2026-03-23T20:48:01+01:00" }, { "hash": "f5842ea", "short": "refactor(todo-web): unify FilterStrip and KanbanFilters into TaskFilters", "type": "refactor", "scope": "todo-web", "additions": 841, "deletions": 761, "timestamp": "2026-03-23T20:48:34+01:00" }, { "hash": "45db427", "short": "fix(todo): pixel-perfect skeleton loaders, PillNav tab group, and SSR head fix", "type": "fix", "scope": "todo", "additions": 311, "deletions": 112, "timestamp": "2026-03-23T20:51:41+01:00" }, { "hash": "9edd1c6", "short": "feat(shared-ui): locale-aware highlighting + success feedback for InputBar", "type": "feat", "scope": "shared-ui", "additions": 227, "deletions": 62, "timestamp": "2026-03-23T20:55:31+01:00" }, { "hash": "c1ca93b", "short": "fix(contacts-web): add patches dir to Dockerfile for pnpm install", "type": "fix", "scope": "contacts-web", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T21:04:06+01:00" }, { "hash": "534b55b", "short": "test(todo-web): add tests for unified TaskFilters and viewStore filter state", "type": "test", "scope": "todo-web", "additions": 371, "deletions": 20, "timestamp": "2026-03-23T21:04:21+01:00" }, { "hash": "436e92c", "short": "feat: unify QuickInputBar across all apps with locale + deferSearch", "type": null, "scope": null, "additions": 15, "deletions": 0, "timestamp": "2026-03-23T21:06:58+01:00" }, { "hash": "dc372ee", "short": "fix(contacts-web): add shared-pwa package to Dockerfile", "type": "fix", "scope": "contacts-web", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T21:07:20+01:00" }, { "hash": "08a7d2a", "short": "fix(todo-web): clean up list design and make onboarding tip dismissable", "type": "fix", "scope": "todo-web", "additions": 54, "deletions": 67, "timestamp": "2026-03-23T21:19:14+01:00" }, { "hash": "ee3e815", "short": "fix(contacts-web): add shared-app-onboarding to Dockerfile", "type": "fix", "scope": "contacts-web", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T21:19:20+01:00" }, { "hash": "49457c3", "short": "feat(todo-web): auto-save task edits, remove save/cancel buttons", "type": "feat", "scope": "todo-web", "additions": 42, "deletions": 70, "timestamp": "2026-03-23T21:24:00+01:00" }, { "hash": "ff419f0", "short": "feat: add QuickInputBar to 6 more apps (mukke, matrix, manadeck, planta, photos, presi)", "type": null, "scope": null, "additions": 200, "deletions": 13, "timestamp": "2026-03-23T21:25:51+01:00" }, { "hash": "cb18384", "short": "fix(contacts-web): add spiral-db to Dockerfile", "type": "fix", "scope": "contacts-web", "additions": 1, "deletions": 0, "timestamp": "2026-03-23T21:28:23+01:00" }, { "hash": "3b883af", "short": "feat(manacore): improve todo dashboard widgets and fix port mismatch", "type": "feat", "scope": "manacore", "additions": 166, "deletions": 50, "timestamp": "2026-03-23T21:48:29+01:00" }, { "hash": "0893e47", "short": "feat(todo-web): add right-click context menu to task list", "type": "feat", "scope": "todo-web", "additions": 133, "deletions": 22, "timestamp": "2026-03-23T21:56:58+01:00" }, { "hash": "89ca3b0", "short": "fix(manacore): update todo service test mock to match new Task type", "type": "fix", "scope": "manacore", "additions": 2, "deletions": 1, "timestamp": "2026-03-23T21:57:52+01:00" }, { "hash": "250e0b2", "short": "feat: add onboarding to 6 new apps and feature intro step to all 16 apps", "type": null, "scope": null, "additions": 872, "deletions": 0, "timestamp": "2026-03-23T21:58:14+01:00" }, { "hash": "e7bf58c", "short": "feat(calendar-web): add right-click context menu to events in week view", "type": "feat", "scope": "calendar-web", "additions": 105, "deletions": 5, "timestamp": "2026-03-23T22:02:46+01:00" }, { "hash": "e2f1449", "short": "feat: add unified @manacore/shared-llm package and migrate all backends", "type": null, "scope": null, "additions": 2477, "deletions": 1298, "timestamp": "2026-03-23T22:06:30+01:00" }, { "hash": "7f7c6e6", "short": "fix(manacore): replace hardcoded localhost URLs with APP_URLS in all widgets", "type": "fix", "scope": "manacore", "additions": 36, "deletions": 12, "timestamp": "2026-03-23T22:09:24+01:00" }, { "hash": "421ef55", "short": "feat(manacore): implement mukke, presi, and context dashboard widgets", "type": "feat", "scope": "manacore", "additions": 425, "deletions": 0, "timestamp": "2026-03-23T22:34:56+01:00" }, { "hash": "28286d1", "short": "feat: add right-click context menus to presi, manadeck, photos, and zitare", "type": null, "scope": null, "additions": 316, "deletions": 7, "timestamp": "2026-03-23T22:34:57+01:00" }, { "hash": "45063b8", "short": "feat(mana-llm): add Google Gemini fallback provider with auto-routing", "type": "feat", "scope": "mana-llm", "additions": 430, "deletions": 19, "timestamp": "2026-03-23T22:44:09+01:00" }, { "hash": "ecda453", "short": "feat: add right-click context menus to calendar agenda, chat, contacts, and storage", "type": null, "scope": null, "additions": 230, "deletions": 62, "timestamp": "2026-03-23T22:51:07+01:00" } ], "review_state": "auto", "llm": { "model": null, "generated_at": null } }