mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 10:19:40 +02:00
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
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>
610 lines
14 KiB
JSON
610 lines
14 KiB
JSON
{
|
|
"date": "2026-02-14",
|
|
"day_number": 47,
|
|
"weekday": "Samstag",
|
|
"commits": 58,
|
|
"authors": [
|
|
{
|
|
"name": "Till-JS",
|
|
"count": 58
|
|
}
|
|
],
|
|
"additions": 9314,
|
|
"deletions": 2460,
|
|
"net_lines": 6854,
|
|
"files_changed": 146,
|
|
"new_files": 0,
|
|
"deleted_files": 0,
|
|
"session": {
|
|
"first_commit_at": "2026-02-14T09:55:13.000Z",
|
|
"last_commit_at": "2026-02-14T13:34:14.000Z",
|
|
"total_span_minutes": 219,
|
|
"active_minutes": 176,
|
|
"pauses": [
|
|
{
|
|
"from": "12:50",
|
|
"to": "13:32",
|
|
"minutes": 43
|
|
}
|
|
],
|
|
"longest_focus_minutes": 115
|
|
},
|
|
"top_dirs": [
|
|
{
|
|
"path": "apps/manacore/apps/web",
|
|
"pct": 7
|
|
},
|
|
{
|
|
"path": "services/matrix-stats-bot/src",
|
|
"pct": 7
|
|
},
|
|
{
|
|
"path": "services/matrix-clock-bot/src",
|
|
"pct": 7
|
|
},
|
|
{
|
|
"path": "apps/matrix/apps/web",
|
|
"pct": 5
|
|
},
|
|
{
|
|
"path": "docker-compose.macmini.yml",
|
|
"pct": 5
|
|
}
|
|
],
|
|
"top_extensions": [
|
|
{
|
|
"ext": ".ts",
|
|
"count": 118
|
|
},
|
|
{
|
|
"ext": ".svelte",
|
|
"count": 15
|
|
},
|
|
{
|
|
"ext": ".html",
|
|
"count": 15
|
|
},
|
|
{
|
|
"ext": ".md",
|
|
"count": 13
|
|
},
|
|
{
|
|
"ext": ".yml",
|
|
"count": 10
|
|
},
|
|
{
|
|
"ext": ".json",
|
|
"count": 8
|
|
}
|
|
],
|
|
"tags": ["matrix-tts-bot", "clock-bot", "matrix-stt-bot", "docker", "stats-bot"],
|
|
"commits_list": [
|
|
{
|
|
"hash": "7c0bc73",
|
|
"short": "✨ feat(matrix): add drag & drop file upload to chat",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 131,
|
|
"deletions": 3,
|
|
"timestamp": "2026-02-14T10:55:13+01:00"
|
|
},
|
|
{
|
|
"hash": "1c9c230",
|
|
"short": "fix(matrix-tts-bot): add API key authentication for mana-tts service",
|
|
"type": "fix",
|
|
"scope": "matrix-tts-bot",
|
|
"additions": 18,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T10:59:08+01:00"
|
|
},
|
|
{
|
|
"hash": "5e01c83",
|
|
"short": "✨ feat(matrix): improve chat UI with WhatsApp-style input and emoji picker",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 199,
|
|
"deletions": 40,
|
|
"timestamp": "2026-02-14T11:02:36+01:00"
|
|
},
|
|
{
|
|
"hash": "70e45ed",
|
|
"short": "fix(matrix-stats-bot): adapt to Umami v2 API response format",
|
|
"type": "fix",
|
|
"scope": "matrix-stats-bot",
|
|
"additions": 121,
|
|
"deletions": 40,
|
|
"timestamp": "2026-02-14T11:03:03+01:00"
|
|
},
|
|
{
|
|
"hash": "fa7fb3c",
|
|
"short": "🩹 fix(matrix-bots): use authenticated media download for all bots",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 44,
|
|
"deletions": 61,
|
|
"timestamp": "2026-02-14T11:04:13+01:00"
|
|
},
|
|
{
|
|
"hash": "e013384",
|
|
"short": "chore(docker): build matrix-tts-bot locally instead of from registry",
|
|
"type": "chore",
|
|
"scope": "docker",
|
|
"additions": 4,
|
|
"deletions": 1,
|
|
"timestamp": "2026-02-14T11:04:44+01:00"
|
|
},
|
|
{
|
|
"hash": "aff2db9",
|
|
"short": "✨ feat(matrix): add recently used emojis section in emoji picker",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 71,
|
|
"deletions": 97,
|
|
"timestamp": "2026-02-14T11:08:31+01:00"
|
|
},
|
|
{
|
|
"hash": "0f234a0",
|
|
"short": "fix(matrix-tts-bot): use WAV format for better Matrix compatibility",
|
|
"type": "fix",
|
|
"scope": "matrix-tts-bot",
|
|
"additions": 5,
|
|
"deletions": 5,
|
|
"timestamp": "2026-02-14T11:09:56+01:00"
|
|
},
|
|
{
|
|
"hash": "c843531",
|
|
"short": "feat(analytics): update Umami tracking IDs for all web apps",
|
|
"type": "feat",
|
|
"scope": "analytics",
|
|
"additions": 21,
|
|
"deletions": 9,
|
|
"timestamp": "2026-02-14T11:14:16+01:00"
|
|
},
|
|
{
|
|
"hash": "ff1affb",
|
|
"short": "🩹 fix(nutriphi-bot): add automatic token refresh on JWT expiration",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 199,
|
|
"deletions": 77,
|
|
"timestamp": "2026-02-14T11:18:19+01:00"
|
|
},
|
|
{
|
|
"hash": "4a26926",
|
|
"short": "🩹 fix(bot-services): export LOGIN_MESSAGES and auth error helpers",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 244,
|
|
"deletions": 12,
|
|
"timestamp": "2026-02-14T11:19:55+01:00"
|
|
},
|
|
{
|
|
"hash": "e88597c",
|
|
"short": "✨ feat(gifts): add gift code creation script and initial codes",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 199,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T11:23:08+01:00"
|
|
},
|
|
{
|
|
"hash": "bd7f197",
|
|
"short": "feat(stats-bot): add infrastructure monitoring commands",
|
|
"type": "feat",
|
|
"scope": "stats-bot",
|
|
"additions": 446,
|
|
"deletions": 48,
|
|
"timestamp": "2026-02-14T11:24:31+01:00"
|
|
},
|
|
{
|
|
"hash": "c698318",
|
|
"short": "chore(deploy): add PROMETHEUS_URL to stats-bot config",
|
|
"type": "chore",
|
|
"scope": "deploy",
|
|
"additions": 3,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T11:25:18+01:00"
|
|
},
|
|
{
|
|
"hash": "d81b8ae",
|
|
"short": "🔒 refactor(bots): remove !login command and enforce OIDC-only auth",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 158,
|
|
"deletions": 786,
|
|
"timestamp": "2026-02-14T11:26:58+01:00"
|
|
},
|
|
{
|
|
"hash": "83c75ce",
|
|
"short": "🩹 fix(nutriphi-bot): use correct API field name for image analysis",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 1,
|
|
"deletions": 1,
|
|
"timestamp": "2026-02-14T11:28:46+01:00"
|
|
},
|
|
{
|
|
"hash": "2521a1e",
|
|
"short": "feat(matrix): sync recent emojis across apps via mana-core-auth",
|
|
"type": "feat",
|
|
"scope": "matrix",
|
|
"additions": 256,
|
|
"deletions": 42,
|
|
"timestamp": "2026-02-14T11:30:17+01:00"
|
|
},
|
|
{
|
|
"hash": "67f3d30",
|
|
"short": "fix(matrix-tts-bot): use /synthesize/auto endpoint for German voices",
|
|
"type": "fix",
|
|
"scope": "matrix-tts-bot",
|
|
"additions": 5,
|
|
"deletions": 8,
|
|
"timestamp": "2026-02-14T11:30:37+01:00"
|
|
},
|
|
{
|
|
"hash": "0099e1e",
|
|
"short": "chore(matrix-tts-bot): set German (de_thorsten) as default voice",
|
|
"type": "chore",
|
|
"scope": "matrix-tts-bot",
|
|
"additions": 2,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T11:55:47+01:00"
|
|
},
|
|
{
|
|
"hash": "acd8d02",
|
|
"short": "🔧 fix(clock-bot): use local build with SSO-Link auth",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 13,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T11:57:53+01:00"
|
|
},
|
|
{
|
|
"hash": "a4ef703",
|
|
"short": "✨ feat(manacore): add gift code web UI",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 1693,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T12:01:24+01:00"
|
|
},
|
|
{
|
|
"hash": "c221f92",
|
|
"short": "🩹 fix(nutriphi): update Gemini model from expired gemini-2.0-flash-exp to gemini-2.5-flash",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 2,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T12:06:40+01:00"
|
|
},
|
|
{
|
|
"hash": "5af965e",
|
|
"short": "feat(clock-bot): add live timer progress with message editing",
|
|
"type": "feat",
|
|
"scope": "clock-bot",
|
|
"additions": 255,
|
|
"deletions": 8,
|
|
"timestamp": "2026-02-14T12:07:28+01:00"
|
|
},
|
|
{
|
|
"hash": "01b0112",
|
|
"short": "🩹 fix(mana-tts): add Piper/German voice support to /synthesize/auto endpoint",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 40,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T12:08:17+01:00"
|
|
},
|
|
{
|
|
"hash": "4b950b7",
|
|
"short": "✨ feat(tts): add de_kerstin female German voice and set as default",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 54,
|
|
"deletions": 31,
|
|
"timestamp": "2026-02-14T12:16:58+01:00"
|
|
},
|
|
{
|
|
"hash": "acf4512",
|
|
"short": "fix(session): add auto-refresh for expired JWT tokens",
|
|
"type": "fix",
|
|
"scope": "session",
|
|
"additions": 335,
|
|
"deletions": 11,
|
|
"timestamp": "2026-02-14T12:19:08+01:00"
|
|
},
|
|
{
|
|
"hash": "209a474",
|
|
"short": "🩹 fix(gifts): add duplicate claim check to first_come type",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 18,
|
|
"deletions": 11,
|
|
"timestamp": "2026-02-14T12:19:43+01:00"
|
|
},
|
|
{
|
|
"hash": "1245109",
|
|
"short": "📝 docs(tts): document German voice support (Piper/Kerstin)",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 66,
|
|
"deletions": 13,
|
|
"timestamp": "2026-02-14T12:21:40+01:00"
|
|
},
|
|
{
|
|
"hash": "139c040",
|
|
"short": "refactor(stats-bot): swap commands - !stats for personal, !global for global",
|
|
"type": "refactor",
|
|
"scope": "stats-bot",
|
|
"additions": 15,
|
|
"deletions": 15,
|
|
"timestamp": "2026-02-14T12:26:52+01:00"
|
|
},
|
|
{
|
|
"hash": "07ac2e8",
|
|
"short": "🔧 fix(stats-bot): add Redis and Matrix-SSO-Link for auto-login",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 10,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T12:31:35+01:00"
|
|
},
|
|
{
|
|
"hash": "b1eaa88",
|
|
"short": "📝 docs(stats-bot): add Redis and Matrix-SSO-Link environment variables",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 20,
|
|
"deletions": 3,
|
|
"timestamp": "2026-02-14T12:35:15+01:00"
|
|
},
|
|
{
|
|
"hash": "c13c313",
|
|
"short": "🐛 fix(gifts): reorder controller routes to fix 'me/*' matching",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 642,
|
|
"deletions": 26,
|
|
"timestamp": "2026-02-14T12:38:23+01:00"
|
|
},
|
|
{
|
|
"hash": "e4ac539",
|
|
"short": "chore: update pnpm-lock.yaml for clock-bot @types/express",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 456,
|
|
"deletions": 435,
|
|
"timestamp": "2026-02-14T12:39:16+01:00"
|
|
},
|
|
{
|
|
"hash": "531ed3e",
|
|
"short": "📝 docs(nutriphi): update Gemini model version to 2.5 Flash",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 4,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T12:41:32+01:00"
|
|
},
|
|
{
|
|
"hash": "a6fc1cb",
|
|
"short": "feat(onboarding): add Matrix onboarding bot for profile setup",
|
|
"type": "feat",
|
|
"scope": "onboarding",
|
|
"additions": 1456,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T12:42:41+01:00"
|
|
},
|
|
{
|
|
"hash": "0a41640",
|
|
"short": "chore(onboarding-bot): add bot user creation script",
|
|
"type": "chore",
|
|
"scope": "onboarding-bot",
|
|
"additions": 110,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T12:43:29+01:00"
|
|
},
|
|
{
|
|
"hash": "5025bfa",
|
|
"short": "fix(clock-bot): optimize widget styling for Element info panel",
|
|
"type": "fix",
|
|
"scope": "clock-bot",
|
|
"additions": 89,
|
|
"deletions": 44,
|
|
"timestamp": "2026-02-14T12:46:19+01:00"
|
|
},
|
|
{
|
|
"hash": "8dad8a8",
|
|
"short": "🐛 fix(manacore-web): use runtime auth URL instead of hardcoded localhost",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 39,
|
|
"deletions": 22,
|
|
"timestamp": "2026-02-14T12:47:40+01:00"
|
|
},
|
|
{
|
|
"hash": "1052dca",
|
|
"short": "🐛 fix(nutriphi-web): add missing shared packages to Dockerfile",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 2,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T12:50:01+01:00"
|
|
},
|
|
{
|
|
"hash": "db7f2df",
|
|
"short": "🐛 fix(nutriphi-web): add shared-api-client to Dockerfile",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 1,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T13:32:52+01:00"
|
|
},
|
|
{
|
|
"hash": "992181c",
|
|
"short": "✨ feat(clock-bot): add timer status to room topic (Phase 3)",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 125,
|
|
"deletions": 4,
|
|
"timestamp": "2026-02-14T13:36:08+01:00"
|
|
},
|
|
{
|
|
"hash": "c8ab4bb",
|
|
"short": "🐛 fix(nutriphi-web): fix i18n hydration error",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 18,
|
|
"deletions": 7,
|
|
"timestamp": "2026-02-14T13:39:35+01:00"
|
|
},
|
|
{
|
|
"hash": "2e8b3b9",
|
|
"short": "fix(matrix-bot-common): ignore messages from other bots",
|
|
"type": "fix",
|
|
"scope": "matrix-bot-common",
|
|
"additions": 15,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T13:40:59+01:00"
|
|
},
|
|
{
|
|
"hash": "5ef04ea",
|
|
"short": "🐛 fix(nutriphi-backend): change user_id from uuid to text",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 4,
|
|
"deletions": 4,
|
|
"timestamp": "2026-02-14T13:44:05+01:00"
|
|
},
|
|
{
|
|
"hash": "ba818ef",
|
|
"short": "fix(clock-bot): improve room topic error logging",
|
|
"type": "fix",
|
|
"scope": "clock-bot",
|
|
"additions": 4,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T13:47:15+01:00"
|
|
},
|
|
{
|
|
"hash": "72b1625",
|
|
"short": "🐛 fix(gifts): convert undefined sourceAppId to null for Drizzle",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 3,
|
|
"deletions": 3,
|
|
"timestamp": "2026-02-14T13:50:01+01:00"
|
|
},
|
|
{
|
|
"hash": "102f0df",
|
|
"short": "🔧 chore(clock-bot): improve room topic error logging",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 9,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T13:52:20+01:00"
|
|
},
|
|
{
|
|
"hash": "ab677b2",
|
|
"short": "🐛 fix(gifts): explicitly set nullable fields to null in DB inserts",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 6,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T14:02:46+01:00"
|
|
},
|
|
{
|
|
"hash": "97264cd",
|
|
"short": "🔧 chore(clock-bot): add detailed topic update logging",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 4,
|
|
"deletions": 1,
|
|
"timestamp": "2026-02-14T14:03:04+01:00"
|
|
},
|
|
{
|
|
"hash": "43ac782",
|
|
"short": "docs(matrix-bot-common): document bot-to-bot loop prevention",
|
|
"type": "docs",
|
|
"scope": "matrix-bot-common",
|
|
"additions": 5,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T14:05:34+01:00"
|
|
},
|
|
{
|
|
"hash": "79f1155",
|
|
"short": "✨ feat(nutriphi-bot): auto-analyze text meal descriptions",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 139,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T14:18:10+01:00"
|
|
},
|
|
{
|
|
"hash": "d7236d6",
|
|
"short": "debug: add detailed logging for gift redemption",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 65,
|
|
"deletions": 30,
|
|
"timestamp": "2026-02-14T14:28:37+01:00"
|
|
},
|
|
{
|
|
"hash": "e357f9f",
|
|
"short": "feat(matrix-stt-bot): add speech-to-text Matrix bot",
|
|
"type": "feat",
|
|
"scope": "matrix-stt-bot",
|
|
"additions": 1375,
|
|
"deletions": 508,
|
|
"timestamp": "2026-02-14T14:29:34+01:00"
|
|
},
|
|
{
|
|
"hash": "69f2eaf",
|
|
"short": "🐛 fix(matrix-bot-common): ignore edit events to prevent bot duplicate responses",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 10,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T14:30:49+01:00"
|
|
},
|
|
{
|
|
"hash": "c703935",
|
|
"short": "feat(docker): add matrix-stt-bot to Mac Mini deployment",
|
|
"type": "feat",
|
|
"scope": "docker",
|
|
"additions": 33,
|
|
"deletions": 0,
|
|
"timestamp": "2026-02-14T14:31:01+01:00"
|
|
},
|
|
{
|
|
"hash": "aabc4a6",
|
|
"short": "🔧 chore: build matrix-mana-bot locally for quick fixes",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 5,
|
|
"deletions": 2,
|
|
"timestamp": "2026-02-14T14:31:45+01:00"
|
|
},
|
|
{
|
|
"hash": "0a439bb",
|
|
"short": "fix(matrix-stt-bot): fix Dockerfile build order and port",
|
|
"type": "fix",
|
|
"scope": "matrix-stt-bot",
|
|
"additions": 5,
|
|
"deletions": 5,
|
|
"timestamp": "2026-02-14T14:32:23+01:00"
|
|
},
|
|
{
|
|
"hash": "ec83958",
|
|
"short": "fix(matrix-stt-bot): use same Dockerfile pattern as TTS bot",
|
|
"type": "fix",
|
|
"scope": "matrix-stt-bot",
|
|
"additions": 42,
|
|
"deletions": 31,
|
|
"timestamp": "2026-02-14T14:34:14+01:00"
|
|
}
|
|
],
|
|
"review_state": "auto",
|
|
"llm": {
|
|
"model": null,
|
|
"generated_at": null
|
|
}
|
|
}
|