managarten/devlog/2026-01-26/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

631 lines
14 KiB
JSON

{
"date": "2026-01-26",
"day_number": 35,
"weekday": "Montag",
"commits": 57,
"authors": [
{
"name": "Till-JS",
"count": 57
}
],
"additions": 16578,
"deletions": 3468,
"net_lines": 13110,
"files_changed": 184,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-26T08:35:01.000Z",
"last_commit_at": "2026-01-27T02:39:32.000Z",
"total_span_minutes": 1085,
"active_minutes": 268,
"pauses": [
{
"from": "11:14",
"to": "12:14",
"minutes": 59
},
{
"from": "12:14",
"to": "14:07",
"minutes": 113
},
{
"from": "14:07",
"to": "14:54",
"minutes": 47
},
{
"from": "16:29",
"to": "20:28",
"minutes": 239
},
{
"from": "20:43",
"to": "21:20",
"minutes": 37
},
{
"from": "21:20",
"to": "01:31",
"minutes": 251
},
{
"from": "02:13",
"to": "03:24",
"minutes": 71
}
],
"longest_focus_minutes": 100
},
"top_dirs": [
{
"path": "services/mana-core-auth/src",
"pct": 11
},
{
"path": "apps/todo/apps/web",
"pct": 8
},
{
"path": "docker-compose.macmini.yml",
"pct": 8
},
{
"path": "services/telegram-project-doc-bot/src",
"pct": 7
},
{
"path": "apps/chat/apps/backend",
"pct": 6
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 116
},
{
"ext": ".svelte",
"count": 33
},
{
"ext": ".yml",
"count": 26
},
{
"ext": ".json",
"count": 19
},
{
"ext": ".md",
"count": 15
},
{
"ext": ".py",
"count": 9
}
],
"tags": ["auth", "docker", "stt", "todo", "metrics"],
"commits_list": [
{
"hash": "1c5a1b8",
"short": "feat(metrics): add Prometheus metrics to all backends",
"type": "feat",
"scope": "metrics",
"additions": 611,
"deletions": 14,
"timestamp": "2026-01-26T09:35:01+01:00"
},
{
"hash": "b7d4893",
"short": "docs: add daily report for 2026-01-25",
"type": null,
"scope": null,
"additions": 299,
"deletions": 0,
"timestamp": "2026-01-26T09:38:57+01:00"
},
{
"hash": "475246a",
"short": "fix(todo): correct health check endpoints",
"type": "fix",
"scope": "todo",
"additions": 11,
"deletions": 1,
"timestamp": "2026-01-26T09:44:17+01:00"
},
{
"hash": "41dea77",
"short": "fix(watchtower): use existing TELEGRAM env vars for notifications",
"type": "fix",
"scope": "watchtower",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T09:45:39+01:00"
},
{
"hash": "8c259a0",
"short": "feat(monitoring): add comprehensive Grafana dashboards and alerting",
"type": "feat",
"scope": "monitoring",
"additions": 2029,
"deletions": 0,
"timestamp": "2026-01-26T09:47:18+01:00"
},
{
"hash": "8820532",
"short": "🔧 chore(watchtower): add debug logging for telegram notifications",
"type": null,
"scope": null,
"additions": 3,
"deletions": 1,
"timestamp": "2026-01-26T09:53:45+01:00"
},
{
"hash": "cacebab",
"short": "🔧 chore(watchtower): switch to n8n webhook for notifications",
"type": null,
"scope": null,
"additions": 4,
"deletions": 3,
"timestamp": "2026-01-26T10:00:49+01:00"
},
{
"hash": "d2b1a1c",
"short": "🔧 chore(watchtower): use URL-encoded telegram token from env",
"type": null,
"scope": null,
"additions": 3,
"deletions": 4,
"timestamp": "2026-01-26T10:01:43+01:00"
},
{
"hash": "bbc536d",
"short": "fix(docker): correct todo-backend health check path in compose",
"type": "fix",
"scope": "docker",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T10:02:24+01:00"
},
{
"hash": "98c08fd",
"short": "🔧 chore(watchtower): disable broken telegram notifications",
"type": null,
"scope": null,
"additions": 2,
"deletions": 4,
"timestamp": "2026-01-26T10:02:48+01:00"
},
{
"hash": "57a7a39",
"short": "fix(docker): use root path for todo-web health check",
"type": "fix",
"scope": "docker",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T10:04:35+01:00"
},
{
"hash": "0b35e71",
"short": "fix(docker): use 127.0.0.1 instead of localhost in health checks",
"type": "fix",
"scope": "docker",
"additions": 21,
"deletions": 21,
"timestamp": "2026-01-26T10:07:21+01:00"
},
{
"hash": "2480d92",
"short": "🔧 chore(watchtower): try list format for telegram notification URL",
"type": null,
"scope": null,
"additions": 107,
"deletions": 7,
"timestamp": "2026-01-26T10:14:30+01:00"
},
{
"hash": "4573f6e",
"short": "feat(web): add /health endpoints to all web apps",
"type": "feat",
"scope": "web",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T10:15:04+01:00"
},
{
"hash": "ebd0e53",
"short": "🔧 chore(watchtower): switch to nickfedor fork with telegram notifications",
"type": null,
"scope": null,
"additions": 15,
"deletions": 1,
"timestamp": "2026-01-26T10:29:57+01:00"
},
{
"hash": "618c58c",
"short": "feat(ci): add Telegram notifications and Grafana CI/CD dashboard",
"type": "feat",
"scope": "ci",
"additions": 1100,
"deletions": 0,
"timestamp": "2026-01-26T10:31:17+01:00"
},
{
"hash": "5cf3c33",
"short": "fix(calendar): correct port to 3016",
"type": "fix",
"scope": "calendar",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T10:37:49+01:00"
},
{
"hash": "412344e",
"short": "chore(infra): add pushgateway to Cloudflare tunnel",
"type": "chore",
"scope": "infra",
"additions": 2,
"deletions": 0,
"timestamp": "2026-01-26T10:38:19+01:00"
},
{
"hash": "edf13b7",
"short": "revert: fix CI by reverting Telegram notifications",
"type": null,
"scope": null,
"additions": 0,
"deletions": 1100,
"timestamp": "2026-01-26T10:40:10+01:00"
},
{
"hash": "9fedb7c",
"short": "fix(docker): correct health check paths for mana-core-auth and clock-backend",
"type": "fix",
"scope": "docker",
"additions": 2,
"deletions": 2,
"timestamp": "2026-01-26T10:49:58+01:00"
},
{
"hash": "0cd2bc8",
"short": "✨ feat(stats): add user statistics to Prometheus metrics and Grafana",
"type": null,
"scope": null,
"additions": 798,
"deletions": 13,
"timestamp": "2026-01-26T10:53:57+01:00"
},
{
"hash": "d49ff9a",
"short": "🩹 fix(docker): correct contacts-backend health check path",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T10:54:14+01:00"
},
{
"hash": "bbc051d",
"short": "fix(docker): correct chat-backend health check path",
"type": "fix",
"scope": "docker",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T11:03:11+01:00"
},
{
"hash": "79e3c09",
"short": "fix(docker): correct calendar-backend health check path",
"type": "fix",
"scope": "docker",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T11:13:58+01:00"
},
{
"hash": "021c6e7",
"short": "🔧 fix(telegram-bot): improve database connection logging and error messages",
"type": null,
"scope": null,
"additions": 23,
"deletions": 9,
"timestamp": "2026-01-26T11:14:52+01:00"
},
{
"hash": "85e8ff0",
"short": "fix(auth): reduce minimum password length to 8 characters",
"type": "fix",
"scope": "auth",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T12:14:10+01:00"
},
{
"hash": "fafa550",
"short": "feat(auth): add Brevo SMTP email service for transactional emails",
"type": "feat",
"scope": "auth",
"additions": 1317,
"deletions": 518,
"timestamp": "2026-01-26T14:07:31+01:00"
},
{
"hash": "f173a22",
"short": "fix(auth): fix inviter name access in sendInvitationEmail",
"type": "fix",
"scope": "auth",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-26T14:54:39+01:00"
},
{
"hash": "8e1f443",
"short": "fix(auth): use correct Better Auth API method for password reset",
"type": "fix",
"scope": "auth",
"additions": 3,
"deletions": 2,
"timestamp": "2026-01-26T15:20:16+01:00"
},
{
"hash": "4973cf8",
"short": "feat(todo): consolidate bars using ExpandableToolbar pattern from Calendar app",
"type": "feat",
"scope": "todo",
"additions": 524,
"deletions": 844,
"timestamp": "2026-01-26T15:33:24+01:00"
},
{
"hash": "5098250",
"short": "feat(auth): enable email verification for new user registrations",
"type": "feat",
"scope": "auth",
"additions": 67,
"deletions": 5,
"timestamp": "2026-01-26T15:35:25+01:00"
},
{
"hash": "2975e5d",
"short": "fix(auth): add explicit types to email handlers",
"type": "fix",
"scope": "auth",
"additions": 14,
"deletions": 2,
"timestamp": "2026-01-26T15:41:00+01:00"
},
{
"hash": "3f64c74",
"short": "feat(telegram-ollama-bot): add Telegram bot for local LLM inference via Ollama",
"type": "feat",
"scope": "telegram-ollama-bot",
"additions": 1034,
"deletions": 94,
"timestamp": "2026-01-26T15:43:41+01:00"
},
{
"hash": "aa7f5fb",
"short": "docs: add Telegram Ollama Bot documentation to MAC_MINI_SERVER.md",
"type": null,
"scope": null,
"additions": 102,
"deletions": 5,
"timestamp": "2026-01-26T15:53:18+01:00"
},
{
"hash": "14aaf01",
"short": "fix(auth): move email verification config to correct location",
"type": "fix",
"scope": "auth",
"additions": 21,
"deletions": 17,
"timestamp": "2026-01-26T15:54:35+01:00"
},
{
"hash": "6f51f1a",
"short": "feat(chat-backend): integrate Ollama for local LLM inference",
"type": "feat",
"scope": "chat-backend",
"additions": 280,
"deletions": 16,
"timestamp": "2026-01-26T16:03:03+01:00"
},
{
"hash": "08ebdf5",
"short": "feat(docker): add Ollama configuration to chat-backend",
"type": "feat",
"scope": "docker",
"additions": 5,
"deletions": 0,
"timestamp": "2026-01-26T16:05:38+01:00"
},
{
"hash": "def7249",
"short": "🚸 feat(todo): redesign homepage empty state and section visibility",
"type": null,
"scope": null,
"additions": 318,
"deletions": 96,
"timestamp": "2026-01-26T16:29:42+01:00"
},
{
"hash": "ad4ae93",
"short": "feat(auth): add email verification endpoint for Better Auth",
"type": "feat",
"scope": "auth",
"additions": 103,
"deletions": 3,
"timestamp": "2026-01-26T20:28:30+01:00"
},
{
"hash": "be365a0",
"short": "feat(manacore): add email verification result pages",
"type": "feat",
"scope": "manacore",
"additions": 117,
"deletions": 0,
"timestamp": "2026-01-26T20:43:02+01:00"
},
{
"hash": "3df7157",
"short": "🐛 fix(calendar): fix app hanging and layout issues",
"type": null,
"scope": null,
"additions": 47,
"deletions": 61,
"timestamp": "2026-01-26T21:20:29+01:00"
},
{
"hash": "2ccd063",
"short": "✨ feat(auth): redirect users to source app after email verification",
"type": null,
"scope": null,
"additions": 285,
"deletions": 30,
"timestamp": "2026-01-27T01:31:31+01:00"
},
{
"hash": "09b8d7b",
"short": "✨ feat(auth-ui): show email verified banner on login pages",
"type": null,
"scope": null,
"additions": 162,
"deletions": 2,
"timestamp": "2026-01-27T01:31:55+01:00"
},
{
"hash": "cb3c1ff",
"short": "♻️ refactor(todo): replace edit modal with inline task editing",
"type": null,
"scope": null,
"additions": 848,
"deletions": 263,
"timestamp": "2026-01-27T01:32:14+01:00"
},
{
"hash": "d8b61d0",
"short": "📝 docs: add design UX guidelines and local model documentation",
"type": null,
"scope": null,
"additions": 1698,
"deletions": 0,
"timestamp": "2026-01-27T01:32:31+01:00"
},
{
"hash": "aeabd21",
"short": "✨ feat(storage): add verified banner to login page",
"type": null,
"scope": null,
"additions": 7,
"deletions": 0,
"timestamp": "2026-01-27T01:32:59+01:00"
},
{
"hash": "bf0fa04",
"short": "✨ feat(stt): add speech-to-text service for Mac Mini",
"type": null,
"scope": null,
"additions": 1206,
"deletions": 0,
"timestamp": "2026-01-27T01:33:10+01:00"
},
{
"hash": "92a700a",
"short": "fix(stt): change default model to large-v3 (large-v3-turbo not supported by lightning-whisper-mlx)",
"type": "fix",
"scope": "stt",
"additions": 11,
"deletions": 16,
"timestamp": "2026-01-27T01:36:49+01:00"
},
{
"hash": "9bd699a",
"short": "fix(stt): add Homebrew to PATH for ffmpeg",
"type": "fix",
"scope": "stt",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-27T01:52:09+01:00"
},
{
"hash": "49255ac",
"short": "fix(stt): use correct AutoModel for Voxtral multimodal architecture",
"type": "fix",
"scope": "stt",
"additions": 58,
"deletions": 17,
"timestamp": "2026-01-27T01:58:32+01:00"
},
{
"hash": "e7e3561",
"short": "📝 docs: add external services analysis and self-hosting guide",
"type": null,
"scope": null,
"additions": 543,
"deletions": 0,
"timestamp": "2026-01-27T02:04:31+01:00"
},
{
"hash": "a2233dc",
"short": "fix(stt): properly encode audio as base64 for Voxtral",
"type": "fix",
"scope": "stt",
"additions": 24,
"deletions": 27,
"timestamp": "2026-01-27T02:13:34+01:00"
},
{
"hash": "bff80b5",
"short": "fix(stt): remove unsupported add_generation_prompt kwarg",
"type": "fix",
"scope": "stt",
"additions": 0,
"deletions": 1,
"timestamp": "2026-01-27T03:24:43+01:00"
},
{
"hash": "7c20d88",
"short": "✨ feat(services): add telegram-project-doc-bot service",
"type": null,
"scope": null,
"additions": 2432,
"deletions": 247,
"timestamp": "2026-01-27T03:29:08+01:00"
},
{
"hash": "c4c00dc",
"short": "📝 docs: add devlog for 2026-01-26 monitoring, auth & AI updates",
"type": null,
"scope": null,
"additions": 285,
"deletions": 0,
"timestamp": "2026-01-27T03:37:59+01:00"
},
{
"hash": "fe8cb3c",
"short": "🐛 fix(health-check): correct health endpoint paths",
"type": null,
"scope": null,
"additions": 25,
"deletions": 10,
"timestamp": "2026-01-27T03:39:16+01:00"
},
{
"hash": "d1e9c87",
"short": "fix(todo): correct health check URL in startup log",
"type": "fix",
"scope": "todo",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-27T03:39:32+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}