managarten/devlog/2026-01-29/data.json
Till JS ad776c1a1c
Some checks are pending
CI / Build mana-api-gateway (push) Blocked by required conditions
CI / Build mana-crawler (push) Blocked by required conditions
CD Mac Mini / Detect Changes (push) Waiting to run
CD Mac Mini / Deploy (push) Blocked by required conditions
CI / Detect Changes (push) Waiting to run
CI / Validate (push) Waiting to run
CI / Build mana-search (push) Blocked by required conditions
CI / Build mana-sync (push) Blocked by required conditions
Mirror to Forgejo / Push to Forgejo (push) Waiting to run
devlog: 107 Tage backfilled (2025-11-22 → 2026-05-15)
Vollständige Bau-Geschichte des Monorepos in der Tages-Devlog-
Konvention (mana/docs/DEVLOG.md). Bodies sind heuristik-
generiert aus den Commit-Subjects pro Tag (Lead-Satz +
Highlights/Commit-Bullets, kein LLM-Pfad). Tage mit hand-
curate-Bedarf können nachträglich überarbeitet werden — der
Auto-Stub-Marker ist weg, die Bodies sind editierbar.

321 Files (data.json + spieler.md + macher.md pro Tag).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 22:24:29 +02:00

1133 lines
27 KiB
JSON

{
"date": "2026-01-29",
"day_number": 38,
"weekday": "Donnerstag",
"commits": 113,
"authors": [
{
"name": "Till-JS",
"count": 107
},
{
"name": "Till JS",
"count": 5
},
{
"name": "Claude",
"count": 1
}
],
"additions": 51520,
"deletions": 12296,
"net_lines": 39224,
"files_changed": 792,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-29T11:05:32.000Z",
"last_commit_at": "2026-01-29T22:27:36.000Z",
"total_span_minutes": 682,
"active_minutes": 423,
"pauses": [
{
"from": "15:24",
"to": "16:02",
"minutes": 38
},
{
"from": "18:51",
"to": "20:41",
"minutes": 110
},
{
"from": "20:45",
"to": "21:28",
"minutes": 43
},
{
"from": "21:28",
"to": "22:00",
"minutes": 32
},
{
"from": "22:17",
"to": "22:54",
"minutes": 36
}
],
"longest_focus_minutes": 199
},
"top_dirs": [
{
"path": "apps/matrix/apps/web",
"pct": 12
},
{
"path": "services/mana-api-gateway/src",
"pct": 5
},
{
"path": "services/mana-notify/src",
"pct": 5
},
{
"path": "apps/skilltree/apps/web",
"pct": 4
},
{
"path": "apps/calendar/apps/web",
"pct": 4
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 467
},
{
"ext": ".svelte",
"count": 262
},
{
"ext": ".json",
"count": 153
},
{
"ext": ".md",
"count": 49
},
{
"ext": ".py",
"count": 29
},
{
"ext": ".mdx",
"count": 27
}
],
"tags": ["matrix", "matrix-web", "auth", "skilltree", "tts-bot"],
"commits_list": [
{
"hash": "076e551",
"short": "feat(skilltree): connect web app to backend API",
"type": "feat",
"scope": "skilltree",
"additions": 637,
"deletions": 60,
"timestamp": "2026-01-29T11:05:32Z"
},
{
"hash": "df5a9e2",
"short": "Merge pull request #24 from Memo-2023/claude/review-server-services-NrMEv",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-29T12:09:01+01:00"
},
{
"hash": "f623c1f",
"short": "Merge pull request #25 from Memo-2023/claude/matrix-client-options-F0UhN",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-29T12:10:20+01:00"
},
{
"hash": "8692690",
"short": "Merge pull request #26 from Memo-2023/claude/matrix-setup-documentation-Ketxw",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-29T12:12:02+01:00"
},
{
"hash": "a930e28",
"short": "Merge pull request #27 from Memo-2023/claude/plan-questions-app-UKqD5",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-29T12:12:29+01:00"
},
{
"hash": "5e92a52",
"short": "Merge pull request #28 from Memo-2023/claude/skill-tree-app-planning-CO4xH",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-29T12:13:20+01:00"
},
{
"hash": "e145c64",
"short": "📝 docs(devlog): add 2026-01-28 massive feature sprint devlog",
"type": null,
"scope": null,
"additions": 596,
"deletions": 0,
"timestamp": "2026-01-29T12:19:38+01:00"
},
{
"hash": "2021cf9",
"short": "feat(matrix): configure OIDC SSO with Mana Core Auth",
"type": "feat",
"scope": "matrix",
"additions": 2,
"deletions": 2,
"timestamp": "2026-01-29T12:20:44+01:00"
},
{
"hash": "e46a4c9",
"short": "fix(auth): expose JWKS at /api/auth/jwks for OIDC discovery",
"type": "fix",
"scope": "auth",
"additions": 12,
"deletions": 1,
"timestamp": "2026-01-29T12:21:39+01:00"
},
{
"hash": "42dafe5",
"short": "fix(auth): fix global prefix exclusion for OIDC routes",
"type": "fix",
"scope": "auth",
"additions": 6,
"deletions": 0,
"timestamp": "2026-01-29T12:31:25+01:00"
},
{
"hash": "c3dd770",
"short": "✅ test(skilltree): add comprehensive test suite for web and backend",
"type": null,
"scope": null,
"additions": 925,
"deletions": 2,
"timestamp": "2026-01-29T12:43:19+01:00"
},
{
"hash": "baea194",
"short": "fix(auth): add OAuth2 routes for OIDC discovery compatibility",
"type": "fix",
"scope": "auth",
"additions": 76,
"deletions": 33,
"timestamp": "2026-01-29T12:48:50+01:00"
},
{
"hash": "ac976f2",
"short": "🔧 chore(skilltree): add dev commands and database setup",
"type": null,
"scope": null,
"additions": 39,
"deletions": 3,
"timestamp": "2026-01-29T12:50:43+01:00"
},
{
"hash": "0c1008d",
"short": "debug(auth): add detailed logging for OIDC handler response",
"type": "debug",
"scope": "auth",
"additions": 18,
"deletions": 4,
"timestamp": "2026-01-29T12:51:56+01:00"
},
{
"hash": "29c5d2b",
"short": "feat(auth): add OIDC login page for Matrix SSO",
"type": "feat",
"scope": "auth",
"additions": 257,
"deletions": 1,
"timestamp": "2026-01-29T12:55:02+01:00"
},
{
"hash": "1fcd5de",
"short": "🔧 chore(skilltree): add environment configuration",
"type": null,
"scope": null,
"additions": 45,
"deletions": 14,
"timestamp": "2026-01-29T12:55:36+01:00"
},
{
"hash": "b150a16",
"short": "docs(auth): add Matrix SSO integration documentation",
"type": "docs",
"scope": "auth",
"additions": 192,
"deletions": 15,
"timestamp": "2026-01-29T12:57:48+01:00"
},
{
"hash": "fe8d816",
"short": "📝 docs: add mana-search service to monorepo documentation",
"type": null,
"scope": null,
"additions": 113,
"deletions": 1,
"timestamp": "2026-01-29T12:58:30+01:00"
},
{
"hash": "176aa05",
"short": "feat(matrix-web): add SSO login button for Mana Core",
"type": "feat",
"scope": "matrix-web",
"additions": 31,
"deletions": 1,
"timestamp": "2026-01-29T13:02:58+01:00"
},
{
"hash": "677eb82",
"short": "🐛 fix(mana-search): fix SearXNG docker config for local development",
"type": null,
"scope": null,
"additions": 1948,
"deletions": 181,
"timestamp": "2026-01-29T13:07:21+01:00"
},
{
"hash": "c21f780",
"short": "📝 docs: add questions app and mana-search service to COMMANDS.md",
"type": null,
"scope": null,
"additions": 81,
"deletions": 3,
"timestamp": "2026-01-29T13:08:34+01:00"
},
{
"hash": "b89749d",
"short": "♻️ refactor: migrate all web apps to Phosphor icons",
"type": null,
"scope": null,
"additions": 1829,
"deletions": 997,
"timestamp": "2026-01-29T13:15:13+01:00"
},
{
"hash": "f5247b5",
"short": "💄 style(questions): fix class directive syntax for Phosphor icons",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-29T13:17:31+01:00"
},
{
"hash": "da4b1e6",
"short": "📝 docs: add monorepo consistency report",
"type": null,
"scope": null,
"additions": 293,
"deletions": 0,
"timestamp": "2026-01-29T13:30:19+01:00"
},
{
"hash": "91143a4",
"short": "✨ feat(questions): unify auth pages with shared components",
"type": null,
"scope": null,
"additions": 138,
"deletions": 257,
"timestamp": "2026-01-29T13:30:37+01:00"
},
{
"hash": "1733580",
"short": "fix(types): resolve TypeScript errors across multiple packages",
"type": "fix",
"scope": "types",
"additions": 314,
"deletions": 37,
"timestamp": "2026-01-29T13:33:01+01:00"
},
{
"hash": "3d15539",
"short": "feat(questions): add PillNavigation and QuickInputBar",
"type": "feat",
"scope": "questions",
"additions": 255,
"deletions": 129,
"timestamp": "2026-01-29T13:38:16+01:00"
},
{
"hash": "52c4206",
"short": "⚡ perf: migrate Tailwind from PostCSS to Vite plugin",
"type": null,
"scope": null,
"additions": 427,
"deletions": 296,
"timestamp": "2026-01-29T13:45:42+01:00"
},
{
"hash": "f3424c2",
"short": "⬆️ chore: standardize web app dependencies",
"type": null,
"scope": null,
"additions": 108,
"deletions": 108,
"timestamp": "2026-01-29T13:49:55+01:00"
},
{
"hash": "51ec8f8",
"short": "feat(skilltree): add central auth pages with shared components",
"type": "feat",
"scope": "skilltree",
"additions": 182,
"deletions": 2,
"timestamp": "2026-01-29T13:55:22+01:00"
},
{
"hash": "6d0d9d4",
"short": "✨ feat(questions): add demo mode for unauthenticated users",
"type": null,
"scope": null,
"additions": 397,
"deletions": 16,
"timestamp": "2026-01-29T13:57:20+01:00"
},
{
"hash": "14ce457",
"short": "refactor(shared-ui): centralize toast system across all web apps",
"type": "refactor",
"scope": "shared-ui",
"additions": 487,
"deletions": 1249,
"timestamp": "2026-01-29T14:03:29+01:00"
},
{
"hash": "aa5fc45",
"short": "♻️ refactor(shared-ui): remove lucide-svelte dependency",
"type": null,
"scope": null,
"additions": 4,
"deletions": 17,
"timestamp": "2026-01-29T14:05:46+01:00"
},
{
"hash": "55afb39",
"short": "📝 docs: update consistency report with completed items",
"type": null,
"scope": null,
"additions": 48,
"deletions": 50,
"timestamp": "2026-01-29T14:07:31+01:00"
},
{
"hash": "2b3210d",
"short": "chore(matrix): add Dockerfile and docker-compose config for web app",
"type": "chore",
"scope": "matrix",
"additions": 97,
"deletions": 0,
"timestamp": "2026-01-29T14:08:19+01:00"
},
{
"hash": "e23d119",
"short": "✨ feat: add @manacore/shared-api-client package",
"type": null,
"scope": null,
"additions": 550,
"deletions": 280,
"timestamp": "2026-01-29T14:19:55+01:00"
},
{
"hash": "fa78769",
"short": "📝 docs: update consistency report with API client progress",
"type": null,
"scope": null,
"additions": 9,
"deletions": 3,
"timestamp": "2026-01-29T14:20:55+01:00"
},
{
"hash": "5322709",
"short": "♻️ refactor: migrate todo, contacts, storage to shared-api-client",
"type": null,
"scope": null,
"additions": 189,
"deletions": 183,
"timestamp": "2026-01-29T14:27:11+01:00"
},
{
"hash": "75b5fb2",
"short": "feat(matrix): update web app design to match chat app",
"type": "feat",
"scope": "matrix",
"additions": 342,
"deletions": 210,
"timestamp": "2026-01-29T14:31:56+01:00"
},
{
"hash": "1e5175e",
"short": "♻️ refactor: migrate calendar, picture, nutriphi, planta, questions, skilltree to shared-api-client",
"type": null,
"scope": null,
"additions": 357,
"deletions": 432,
"timestamp": "2026-01-29T14:32:47+01:00"
},
{
"hash": "cc130cc",
"short": "feat(matrix): add PillNavigation and theming integration",
"type": "feat",
"scope": "matrix",
"additions": 349,
"deletions": 78,
"timestamp": "2026-01-29T14:41:59+01:00"
},
{
"hash": "a938ed8",
"short": "fix(matrix): add shared-branding and shared-ui to Dockerfile",
"type": "fix",
"scope": "matrix",
"additions": 183,
"deletions": 396,
"timestamp": "2026-01-29T14:43:41+01:00"
},
{
"hash": "5a08157",
"short": "🌐 feat: add i18n support to 6 web apps",
"type": null,
"scope": null,
"additions": 3444,
"deletions": 60,
"timestamp": "2026-01-29T14:47:58+01:00"
},
{
"hash": "d492212",
"short": "fix(matrix): use valid theme variant 'lavender' instead of 'purple'",
"type": "fix",
"scope": "matrix",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-29T14:49:14+01:00"
},
{
"hash": "f911243",
"short": "fix(matrix): use padding-bottom for bottom navigation",
"type": "fix",
"scope": "matrix",
"additions": 2,
"deletions": 2,
"timestamp": "2026-01-29T14:52:56+01:00"
},
{
"hash": "0c150df",
"short": "✨ feat(auth): add resend verification email to all login pages",
"type": null,
"scope": null,
"additions": 690,
"deletions": 109,
"timestamp": "2026-01-29T14:55:49+01:00"
},
{
"hash": "0d559c9",
"short": "feat(matrix): show DMs and rooms as sections instead of tabs",
"type": "feat",
"scope": "matrix",
"additions": 68,
"deletions": 55,
"timestamp": "2026-01-29T14:56:28+01:00"
},
{
"hash": "69d405c",
"short": "♻️ refactor: centralize AuthGateModal in shared-auth-ui",
"type": null,
"scope": null,
"additions": 363,
"deletions": 698,
"timestamp": "2026-01-29T15:03:52+01:00"
},
{
"hash": "aca66b2",
"short": "feat(matrix): add voice note recording and playback",
"type": "feat",
"scope": "matrix",
"additions": 259,
"deletions": 12,
"timestamp": "2026-01-29T15:12:44+01:00"
},
{
"hash": "cdac341",
"short": "♻️ refactor: centralize global error handler in shared-ui",
"type": null,
"scope": null,
"additions": 307,
"deletions": 119,
"timestamp": "2026-01-29T15:17:17+01:00"
},
{
"hash": "8804ab7",
"short": "♻️ refactor: centralize AppLoadingSkeleton in shared-ui",
"type": null,
"scope": null,
"additions": 494,
"deletions": 306,
"timestamp": "2026-01-29T15:24:29+01:00"
},
{
"hash": "7442b09",
"short": "fix(matrix): wait for i18n to load before rendering",
"type": "fix",
"scope": "matrix",
"additions": 13,
"deletions": 6,
"timestamp": "2026-01-29T16:02:26+01:00"
},
{
"hash": "58a0516",
"short": "feat(matrix): add TTS bot for text-to-speech conversion",
"type": "feat",
"scope": "matrix",
"additions": 1497,
"deletions": 172,
"timestamp": "2026-01-29T16:03:26+01:00"
},
{
"hash": "41354d5",
"short": "fix(matrix-tts-bot): fix Dockerfile pnpm install",
"type": "fix",
"scope": "matrix-tts-bot",
"additions": 2,
"deletions": 2,
"timestamp": "2026-01-29T16:04:08+01:00"
},
{
"hash": "56d49f8",
"short": "fix(matrix): handle invalid timestamps gracefully",
"type": "fix",
"scope": "matrix",
"additions": 8,
"deletions": 3,
"timestamp": "2026-01-29T16:04:50+01:00"
},
{
"hash": "68a8ad6",
"short": "fix(tts-bot): change port to 3033 to avoid conflict with nutriphi",
"type": "fix",
"scope": "tts-bot",
"additions": 208,
"deletions": 7,
"timestamp": "2026-01-29T16:06:25+01:00"
},
{
"hash": "d37f589",
"short": "fix(matrix): validate lastMessageTime before formatting in RoomItem",
"type": "fix",
"scope": "matrix",
"additions": 9,
"deletions": 8,
"timestamp": "2026-01-29T16:08:06+01:00"
},
{
"hash": "33073ab",
"short": "feat(matrix): add room invitations UI with accept/decline",
"type": "feat",
"scope": "matrix",
"additions": 119,
"deletions": 5,
"timestamp": "2026-01-29T16:13:52+01:00"
},
{
"hash": "0a6a1dc",
"short": "📝 docs: add consolidation opportunities analysis",
"type": null,
"scope": null,
"additions": 451,
"deletions": 0,
"timestamp": "2026-01-29T16:14:08+01:00"
},
{
"hash": "1348fca",
"short": "♻️ refactor: remove duplicated code (Quick Wins)",
"type": null,
"scope": null,
"additions": 9,
"deletions": 78,
"timestamp": "2026-01-29T16:19:18+01:00"
},
{
"hash": "ff56030",
"short": "fix(matrix): enable independent scrolling for panels",
"type": "fix",
"scope": "matrix",
"additions": 3,
"deletions": 1,
"timestamp": "2026-01-29T16:20:23+01:00"
},
{
"hash": "f0adea0",
"short": "fix(tts-bot): use MP3 format and prevent duplicate messages",
"type": "fix",
"scope": "tts-bot",
"additions": 22,
"deletions": 5,
"timestamp": "2026-01-29T16:20:26+01:00"
},
{
"hash": "a1ca002",
"short": "♻️ refactor: migrate 6 backends to shared-nestjs-metrics",
"type": null,
"scope": null,
"additions": 54,
"deletions": 709,
"timestamp": "2026-01-29T16:23:32+01:00"
},
{
"hash": "3e73a7a",
"short": "📝 docs: update consolidation report with completed tasks",
"type": null,
"scope": null,
"additions": 18,
"deletions": 18,
"timestamp": "2026-01-29T16:24:05+01:00"
},
{
"hash": "9f47131",
"short": "fix(matrix): improve sidebar and message input layout",
"type": "fix",
"scope": "matrix",
"additions": 115,
"deletions": 118,
"timestamp": "2026-01-29T16:25:05+01:00"
},
{
"hash": "4681ba8",
"short": "♻️ refactor: create createAppSettingsStore factory and migrate 3 apps",
"type": null,
"scope": null,
"additions": 361,
"deletions": 544,
"timestamp": "2026-01-29T16:30:22+01:00"
},
{
"hash": "86c40ec",
"short": "fix(matrix-web): fix sidebar gap and chat scrolling layout",
"type": "fix",
"scope": "matrix-web",
"additions": 76,
"deletions": 34,
"timestamp": "2026-01-29T16:36:24+01:00"
},
{
"hash": "d0d2855",
"short": "🔧 chore: create @manacore/shared-tsconfig and migrate 13 backends",
"type": null,
"scope": null,
"additions": 113,
"deletions": 309,
"timestamp": "2026-01-29T16:38:57+01:00"
},
{
"hash": "188290b",
"short": "♻️ refactor: migrate 15 web apps to @manacore/shared-vite-config",
"type": null,
"scope": null,
"additions": 224,
"deletions": 512,
"timestamp": "2026-01-29T16:47:55+01:00"
},
{
"hash": "6807543",
"short": "🔧 chore: create @manacore/shared-drizzle-config and migrate 16 configs",
"type": null,
"scope": null,
"additions": 281,
"deletions": 177,
"timestamp": "2026-01-29T16:54:44+01:00"
},
{
"hash": "017cb91",
"short": "feat(matrix-web): add emoji reactions support",
"type": "feat",
"scope": "matrix-web",
"additions": 134,
"deletions": 4,
"timestamp": "2026-01-29T16:56:10+01:00"
},
{
"hash": "f652f28",
"short": "chore: switch matrix-web to local build in production compose",
"type": null,
"scope": null,
"additions": 4,
"deletions": 1,
"timestamp": "2026-01-29T16:59:13+01:00"
},
{
"hash": "b5e6fd4",
"short": "fix(matrix-web): add missing shared packages to Dockerfile",
"type": "fix",
"scope": "matrix-web",
"additions": 3,
"deletions": 0,
"timestamp": "2026-01-29T17:00:00+01:00"
},
{
"hash": "035c753",
"short": "fix(matrix-web): inline vite config for Docker build compatibility",
"type": "fix",
"scope": "matrix-web",
"additions": 74,
"deletions": 35,
"timestamp": "2026-01-29T17:01:10+01:00"
},
{
"hash": "c14cd6c",
"short": "feat(matrix-web): add clickable links and link previews",
"type": "feat",
"scope": "matrix-web",
"additions": 63,
"deletions": 1,
"timestamp": "2026-01-29T17:03:46+01:00"
},
{
"hash": "bf719f1",
"short": "♻️ refactor: create createSimpleNavigationStores and migrate 10 apps",
"type": null,
"scope": null,
"additions": 150,
"deletions": 82,
"timestamp": "2026-01-29T17:04:32+01:00"
},
{
"hash": "5f07eb7",
"short": "feat(matrix-web): add markdown formatting support",
"type": "feat",
"scope": "matrix-web",
"additions": 32,
"deletions": 4,
"timestamp": "2026-01-29T17:05:26+01:00"
},
{
"hash": "95cd142",
"short": "fix(matrix-web): add shared-stores to Dockerfile",
"type": "fix",
"scope": "matrix-web",
"additions": 1,
"deletions": 0,
"timestamp": "2026-01-29T17:06:29+01:00"
},
{
"hash": "5663c3d",
"short": "fix(matrix-web): inline navigation stores to avoid shared-stores dependency",
"type": "fix",
"scope": "matrix-web",
"additions": 38,
"deletions": 4,
"timestamp": "2026-01-29T17:08:39+01:00"
},
{
"hash": "2d16f7c",
"short": "🔧 chore: create @manacore/shared-logger and migrate 2 mobile apps",
"type": null,
"scope": null,
"additions": 254,
"deletions": 129,
"timestamp": "2026-01-29T17:12:48+01:00"
},
{
"hash": "c4483e2",
"short": "🔥 remove: delete Picture Button/Card duplicates, use @manacore/shared-ui",
"type": null,
"scope": null,
"additions": 15,
"deletions": 92,
"timestamp": "2026-01-29T17:15:55+01:00"
},
{
"hash": "84fca40",
"short": "feat(matrix-web): add online status indicators for DMs",
"type": "feat",
"scope": "matrix-web",
"additions": 128,
"deletions": 12,
"timestamp": "2026-01-29T17:16:02+01:00"
},
{
"hash": "840f6d7",
"short": "feat(matrix-web): add read receipt indicators",
"type": "feat",
"scope": "matrix-web",
"additions": 85,
"deletions": 4,
"timestamp": "2026-01-29T17:24:03+01:00"
},
{
"hash": "fbd315e",
"short": "🔧 chore: create @manacore/shared-nestjs-setup and migrate 8 backends",
"type": null,
"scope": null,
"additions": 280,
"deletions": 314,
"timestamp": "2026-01-29T17:25:51+01:00"
},
{
"hash": "6f1b265",
"short": "✨ feat: add mana-api-gateway for monetizing core services",
"type": null,
"scope": null,
"additions": 2507,
"deletions": 0,
"timestamp": "2026-01-29T17:30:21+01:00"
},
{
"hash": "f2cd862",
"short": "🚸 ux(matrix-web): improve mobile responsiveness",
"type": null,
"scope": null,
"additions": 1231,
"deletions": 85,
"timestamp": "2026-01-29T17:37:35+01:00"
},
{
"hash": "dff153c",
"short": "💄 style(matrix-web): redesign login page to match central auth UI",
"type": null,
"scope": null,
"additions": 783,
"deletions": 469,
"timestamp": "2026-01-29T17:43:51+01:00"
},
{
"hash": "4b322f5",
"short": "📝 docs: add Astro Starlight public documentation site",
"type": null,
"scope": null,
"additions": 7351,
"deletions": 88,
"timestamp": "2026-01-29T18:01:15+01:00"
},
{
"hash": "fc0ed63",
"short": "✨ feat(api-gateway): add Swagger, admin endpoints, and scheduler",
"type": null,
"scope": null,
"additions": 1059,
"deletions": 1,
"timestamp": "2026-01-29T18:03:16+01:00"
},
{
"hash": "4c1beb9",
"short": "🌙 feat(docs): set dark mode as default theme",
"type": null,
"scope": null,
"additions": 13,
"deletions": 0,
"timestamp": "2026-01-29T18:22:23+01:00"
},
{
"hash": "271496b",
"short": "🚀 ci: add mana-search and api-gateway to Docker builds",
"type": null,
"scope": null,
"additions": 400,
"deletions": 277,
"timestamp": "2026-01-29T18:34:18+01:00"
},
{
"hash": "59d5d20",
"short": "♻️ refactor: migrate 12 backends to shared-nestjs-health module",
"type": null,
"scope": null,
"additions": 4,
"deletions": 0,
"timestamp": "2026-01-29T18:35:10+01:00"
},
{
"hash": "f651773",
"short": "🚸 ux(matrix-web): add settings access from chat sidebar",
"type": null,
"scope": null,
"additions": 17,
"deletions": 8,
"timestamp": "2026-01-29T18:36:18+01:00"
},
{
"hash": "60b7cad",
"short": "🔧 chore: gitignore build artifacts and misc updates",
"type": null,
"scope": null,
"additions": 995,
"deletions": 531,
"timestamp": "2026-01-29T18:37:42+01:00"
},
{
"hash": "4492273",
"short": "✨ feat(matrix-web): add browser notifications for new messages",
"type": null,
"scope": null,
"additions": 317,
"deletions": 3,
"timestamp": "2026-01-29T18:38:43+01:00"
},
{
"hash": "9ffbf35",
"short": "🔧 fix(docker): update Dockerfiles for monorepo-aware builds",
"type": null,
"scope": null,
"additions": 44,
"deletions": 41,
"timestamp": "2026-01-29T18:39:05+01:00"
},
{
"hash": "5777c76",
"short": "✨ feat(matrix-web): add message search functionality",
"type": null,
"scope": null,
"additions": 277,
"deletions": 2,
"timestamp": "2026-01-29T18:41:06+01:00"
},
{
"hash": "b097d89",
"short": "✨ feat(matrix-web): add theme mode selector in settings",
"type": null,
"scope": null,
"additions": 143,
"deletions": 150,
"timestamp": "2026-01-29T18:50:27+01:00"
},
{
"hash": "5a30826",
"short": "✨ feat(matrix-web): add keyboard shortcuts for quick actions",
"type": null,
"scope": null,
"additions": 14,
"deletions": 0,
"timestamp": "2026-01-29T18:51:12+01:00"
},
{
"hash": "c3e340f",
"short": "🔧 chore: fix missing shared package dependencies",
"type": null,
"scope": null,
"additions": 10,
"deletions": 2,
"timestamp": "2026-01-29T20:41:39+01:00"
},
{
"hash": "22a0fee",
"short": "📝 docs: complete consolidation opportunities analysis",
"type": null,
"scope": null,
"additions": 33,
"deletions": 8,
"timestamp": "2026-01-29T20:45:28+01:00"
},
{
"hash": "c64b4d6",
"short": "✨ feat(matrix-web): add VoIP/video call support",
"type": null,
"scope": null,
"additions": 782,
"deletions": 10,
"timestamp": "2026-01-29T21:28:35+01:00"
},
{
"hash": "4a3295d",
"short": "✨ feat(mana-crawler): add web crawler service",
"type": null,
"scope": null,
"additions": 2795,
"deletions": 0,
"timestamp": "2026-01-29T22:00:36+01:00"
},
{
"hash": "1495dbe",
"short": "✨ feat(mana-llm): add central LLM abstraction service",
"type": null,
"scope": null,
"additions": 2270,
"deletions": 1,
"timestamp": "2026-01-29T22:01:00+01:00"
},
{
"hash": "b5fa0f4",
"short": "✨ feat(mana-notify): add central notification service",
"type": null,
"scope": null,
"additions": 4824,
"deletions": 0,
"timestamp": "2026-01-29T22:07:38+01:00"
},
{
"hash": "0023394",
"short": "✨ feat(matrix-web): add screen sharing, presence display, and extended emoji picker",
"type": null,
"scope": null,
"additions": 171,
"deletions": 25,
"timestamp": "2026-01-29T22:14:28+01:00"
},
{
"hash": "60cc0be",
"short": "fix(docker): use node-based healthchecks for mana-core-auth and nutriphi-web",
"type": "fix",
"scope": "docker",
"additions": 3,
"deletions": 2,
"timestamp": "2026-01-29T22:17:43+01:00"
},
{
"hash": "7b2ac78",
"short": "✨ feat(matrix-web): add @mention autocomplete, message forwarding, and improved typing indicator",
"type": null,
"scope": null,
"additions": 408,
"deletions": 14,
"timestamp": "2026-01-29T22:54:00+01:00"
},
{
"hash": "384244f",
"short": "♻️ refactor: migrate bots and chat-backend to mana-llm",
"type": null,
"scope": null,
"additions": 275,
"deletions": 179,
"timestamp": "2026-01-29T22:56:26+01:00"
},
{
"hash": "f4c49fe",
"short": "fix(mana-notify): resolve BullMQ circular import issue",
"type": "fix",
"scope": "mana-notify",
"additions": 1400,
"deletions": 8,
"timestamp": "2026-01-29T22:58:47+01:00"
},
{
"hash": "971e269",
"short": "🔧 chore: update pnpm-lock and bot sync token",
"type": null,
"scope": null,
"additions": 683,
"deletions": 298,
"timestamp": "2026-01-29T22:59:41+01:00"
},
{
"hash": "7ffee52",
"short": "fix(notify-client): don't send undefined emailOptions",
"type": "fix",
"scope": "notify-client",
"additions": 24,
"deletions": 12,
"timestamp": "2026-01-29T23:25:46+01:00"
},
{
"hash": "aae5ef6",
"short": "📝 docs: replace devlog with comprehensive microservices & consolidation post",
"type": null,
"scope": null,
"additions": 678,
"deletions": 268,
"timestamp": "2026-01-29T23:27:36+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}