{ "date": "2026-03-25", "day_number": 64, "weekday": "Mittwoch", "commits": 45, "authors": [ { "name": "Till JS", "count": 45 } ], "additions": 12544, "deletions": 3480, "net_lines": 9064, "files_changed": 264, "new_files": 0, "deleted_files": 0, "session": { "first_commit_at": "2026-03-25T07:20:44.000Z", "last_commit_at": "2026-03-25T23:51:26.000Z", "total_span_minutes": 991, "active_minutes": 213, "pauses": [ { "from": "10:36", "to": "11:55", "minutes": 79 }, { "from": "13:07", "to": "15:08", "minutes": 121 }, { "from": "15:13", "to": "16:05", "minutes": 52 }, { "from": "16:05", "to": "18:48", "minutes": 163 }, { "from": "18:48", "to": "20:28", "minutes": 100 }, { "from": "20:28", "to": "00:51", "minutes": 263 } ], "longest_focus_minutes": 136 }, "top_dirs": [ { "path": "apps/manacore/apps/landing", "pct": 15 }, { "path": "apps/manacore/apps/web", "pct": 15 }, { "path": "apps/citycorners/apps/web", "pct": 6 }, { "path": "apps/matrix/apps/web", "pct": 4 }, { "path": "apps/citycorners/apps/backend", "pct": 4 } ], "top_extensions": [ { "ext": ".svelte", "count": 129 }, { "ext": ".ts", "count": 81 }, { "ext": ".md", "count": 51 }, { "ext": "", "count": 32 }, { "ext": ".json", "count": 29 }, { "ext": ".yml", "count": 5 } ], "tags": ["citycorners", "manacore", "analytics", "infra", "observatory"], "commits_list": [ { "hash": "a432c77", "short": "docs: add devlog for evening session 2026-03-24", "type": null, "scope": null, "additions": 214, "deletions": 0, "timestamp": "2026-03-25T08:20:44+01:00" }, { "hash": "80beef2", "short": "feat(observatory): add tabbed gallery views for plants and lakes", "type": "feat", "scope": "observatory", "additions": 647, "deletions": 3, "timestamp": "2026-03-25T08:24:29+01:00" }, { "hash": "31af413", "short": "fix(manacore): add missing shared packages to Dockerfile", "type": "fix", "scope": "manacore", "additions": 4, "deletions": 0, "timestamp": "2026-03-25T08:26:48+01:00" }, { "hash": "336cfed", "short": "refactor(auth): centralize appReady pattern into AuthGate component", "type": "refactor", "scope": "auth", "additions": 270, "deletions": 407, "timestamp": "2026-03-25T08:30:31+01:00" }, { "hash": "37b061f", "short": "perf(infra): stagger Docker health check start periods", "type": "perf", "scope": "infra", "additions": 57, "deletions": 57, "timestamp": "2026-03-25T08:31:00+01:00" }, { "hash": "dd5c0d5", "short": "feat(calendar, todo): add shared help pages", "type": "feat", "scope": "calendar, todo", "additions": 1261, "deletions": 486, "timestamp": "2026-03-25T08:47:12+01:00" }, { "hash": "1052469", "short": "feat(infra): extend Dockerfile validator to backends and services", "type": "feat", "scope": "infra", "additions": 345, "deletions": 117, "timestamp": "2026-03-25T08:57:10+01:00" }, { "hash": "cacf8d7", "short": "perf(shared-nestjs-auth): local JWKS verification instead of HTTP call", "type": "perf", "scope": "shared-nestjs-auth", "additions": 63, "deletions": 25, "timestamp": "2026-03-25T08:57:24+01:00" }, { "hash": "858b7f6", "short": "ci: add audit:deps and generate:dockerfiles --check to PR workflow", "type": null, "scope": null, "additions": 6, "deletions": 0, "timestamp": "2026-03-25T08:57:35+01:00" }, { "hash": "aeca35e", "short": "feat(observatory): add rivers, leaderboard, compare, and trends tabs", "type": "feat", "scope": "observatory", "additions": 1103, "deletions": 2, "timestamp": "2026-03-25T09:02:42+01:00" }, { "hash": "3631cc7", "short": "docs: add Windows GPU server to project documentation", "type": null, "scope": null, "additions": 61, "deletions": 12, "timestamp": "2026-03-25T09:04:08+01:00" }, { "hash": "979103b", "short": "fix(manacore): re-add missing shared packages to Dockerfile", "type": "fix", "scope": "manacore", "additions": 4, "deletions": 0, "timestamp": "2026-03-25T09:09:11+01:00" }, { "hash": "f0233b8", "short": "feat(storage, chat, picture): add shared help pages", "type": "feat", "scope": "storage, chat, picture", "additions": 1009, "deletions": 0, "timestamp": "2026-03-25T09:19:06+01:00" }, { "hash": "d2264f5", "short": "feat(analytics): add Analytics Maturity metric to ManaScore and custom event tracking to 4 apps", "type": "feat", "scope": "analytics", "additions": 314, "deletions": 4, "timestamp": "2026-03-25T09:20:59+01:00" }, { "hash": "23261aa", "short": "fix(manacore): address critical production readiness issues", "type": "fix", "scope": "manacore", "additions": 111, "deletions": 56, "timestamp": "2026-03-25T09:25:47+01:00" }, { "hash": "bdab272", "short": "refactor(shared-help): extract shared translations, add Zitare + Mukke help pages", "type": "refactor", "scope": "shared-help", "additions": 581, "deletions": 923, "timestamp": "2026-03-25T09:26:26+01:00" }, { "hash": "bade0a1", "short": "feat(analytics): add custom event tracking to Storage app", "type": "feat", "scope": "analytics", "additions": 34, "deletions": 2, "timestamp": "2026-03-25T09:34:07+01:00" }, { "hash": "3075e51", "short": "feat(analytics): add custom event tracking to Photos app", "type": "feat", "scope": "analytics", "additions": 26, "deletions": 1, "timestamp": "2026-03-25T09:59:42+01:00" }, { "hash": "623ce1f", "short": "feat(manacore): add UX improvements across dashboard", "type": "feat", "scope": "manacore", "additions": 392, "deletions": 30, "timestamp": "2026-03-25T10:00:27+01:00" }, { "hash": "12b3c4f", "short": "feat(analytics): add custom event tracking to Context, SkillTree, Planta, Questions", "type": "feat", "scope": "analytics", "additions": 75, "deletions": 4, "timestamp": "2026-03-25T10:13:05+01:00" }, { "hash": "7da67fe", "short": "feat(manacore): nice-to-have UX polish", "type": "feat", "scope": "manacore", "additions": 151, "deletions": 27, "timestamp": "2026-03-25T10:20:12+01:00" }, { "hash": "73d5529", "short": "fix(manacore): fix white screen when toggling todo completion in dashboard", "type": "fix", "scope": "manacore", "additions": 30, "deletions": 2, "timestamp": "2026-03-25T10:21:44+01:00" }, { "hash": "422b4f9", "short": "fix(monitoring): add missing prom-client dependency to 4 backends", "type": "fix", "scope": "monitoring", "additions": 745, "deletions": 508, "timestamp": "2026-03-25T10:22:25+01:00" }, { "hash": "7077c0a", "short": "feat(help): add help pages to 10 remaining web apps", "type": "feat", "scope": "help", "additions": 1937, "deletions": 0, "timestamp": "2026-03-25T10:36:22+01:00" }, { "hash": "0519440", "short": "refactor(manacore): centralize localStorage keys in storage-keys config", "type": "refactor", "scope": "manacore", "additions": 19, "deletions": 2, "timestamp": "2026-03-25T10:36:40+01:00" }, { "hash": "59c8974", "short": "refactor(manacore): use STORAGE_KEYS in all remaining localStorage calls", "type": "refactor", "scope": "manacore", "additions": 10, "deletions": 6, "timestamp": "2026-03-25T11:55:49+01:00" }, { "hash": "1fe8f89", "short": "feat(analytics): add custom event tracking to NutriPhi and ManaDeck", "type": "feat", "scope": "analytics", "additions": 25, "deletions": 0, "timestamp": "2026-03-25T12:12:01+01:00" }, { "hash": "3376b04", "short": "fix(auth): resolve hardcoded localhost in user-settings across all web apps", "type": "fix", "scope": "auth", "additions": 92, "deletions": 50, "timestamp": "2026-03-25T12:40:30+01:00" }, { "hash": "8b96b82", "short": "feat(citycorners): add 7 new location categories with 35 seed entries", "type": "feat", "scope": "citycorners", "additions": 702, "deletions": 25, "timestamp": "2026-03-25T12:53:04+01:00" }, { "hash": "d888634", "short": "fix(infra): add missing Zitare, SkillTree, Planta routes to Cloudflare tunnel", "type": "fix", "scope": "infra", "additions": 18, "deletions": 0, "timestamp": "2026-03-25T12:54:11+01:00" }, { "hash": "5833b05", "short": "fix(citycorners): build shared-pwa package in web Dockerfile", "type": "fix", "scope": "citycorners", "additions": 3, "deletions": 0, "timestamp": "2026-03-25T12:54:34+01:00" }, { "hash": "c7f2f91", "short": "fix(citycorners): add missing leaflet.markercluster dependency", "type": "fix", "scope": "citycorners", "additions": 335, "deletions": 480, "timestamp": "2026-03-25T12:57:46+01:00" }, { "hash": "68ce6e7", "short": "fix(citycorners): add missing favicon.png for web app", "type": "fix", "scope": "citycorners", "additions": 0, "deletions": 0, "timestamp": "2026-03-25T13:00:34+01:00" }, { "hash": "6464a01", "short": "fix(storage): add shared-pwa build step and help packages to web Dockerfile", "type": "fix", "scope": "storage", "additions": 6, "deletions": 0, "timestamp": "2026-03-25T13:01:17+01:00" }, { "hash": "06bf150", "short": "refactor(manalink): improve chat layout with message grouping, hover actions, and command palette", "type": "refactor", "scope": "manalink", "additions": 219, "deletions": 82, "timestamp": "2026-03-25T13:02:35+01:00" }, { "hash": "9aa5169", "short": "fix(storage): move onboarding modal outside flex layout container", "type": "fix", "scope": "storage", "additions": 6, "deletions": 5, "timestamp": "2026-03-25T13:07:29+01:00" }, { "hash": "491c71e", "short": "fix(onboarding): move modal outside flex layout containers in 8 apps", "type": "fix", "scope": "onboarding", "additions": 45, "deletions": 39, "timestamp": "2026-03-25T15:08:34+01:00" }, { "hash": "89e32d4", "short": "feat(citycorners): add open/closed badges, map category filter, opening hours", "type": "feat", "scope": "citycorners", "additions": 310, "deletions": 39, "timestamp": "2026-03-25T15:09:09+01:00" }, { "hash": "b9a9052", "short": "feat(manascore): add extended codebase metrics to all app audits", "type": "feat", "scope": "manascore", "additions": 326, "deletions": 4, "timestamp": "2026-03-25T15:12:15+01:00" }, { "hash": "6c1b472", "short": "feat(manadeck): add Docker deployment for backend and web", "type": "feat", "scope": "manadeck", "additions": 160, "deletions": 2, "timestamp": "2026-03-25T15:13:45+01:00" }, { "hash": "8e3af23", "short": "fix(citycorners): add shared-types to web Dockerfile", "type": "fix", "scope": "citycorners", "additions": 1, "deletions": 0, "timestamp": "2026-03-25T15:13:48+01:00" }, { "hash": "3500ac5", "short": "fix(citycorners): replace @const with direct function calls in templates", "type": "fix", "scope": "citycorners", "additions": 46, "deletions": 6, "timestamp": "2026-03-25T16:05:37+01:00" }, { "hash": "1edbc19", "short": "feat(manalink): optimize mobile layout with bottom sheets, compact header, and touch interactions", "type": "feat", "scope": "manalink", "additions": 289, "deletions": 70, "timestamp": "2026-03-25T18:48:49+01:00" }, { "hash": "7303709", "short": "feat(citycorners): add review and rating system", "type": "feat", "scope": "citycorners", "additions": 486, "deletions": 3, "timestamp": "2026-03-25T20:28:23+01:00" }, { "hash": "23ea63a", "short": "fix(citycorners): update controller spec for ReviewService dependency", "type": "fix", "scope": "citycorners", "additions": 6, "deletions": 1, "timestamp": "2026-03-26T00:51:26+01:00" } ], "review_state": "auto", "llm": { "model": null, "generated_at": null } }