mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 11:49:39 +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>
561 lines
13 KiB
JSON
561 lines
13 KiB
JSON
{
|
|
"date": "2026-03-20",
|
|
"day_number": 59,
|
|
"weekday": "Freitag",
|
|
"commits": 52,
|
|
"authors": [
|
|
{
|
|
"name": "Till JS",
|
|
"count": 52
|
|
}
|
|
],
|
|
"additions": 13375,
|
|
"deletions": 5388,
|
|
"net_lines": 7987,
|
|
"files_changed": 201,
|
|
"new_files": 0,
|
|
"deleted_files": 0,
|
|
"session": {
|
|
"first_commit_at": "2026-03-20T15:38:05.000Z",
|
|
"last_commit_at": "2026-03-20T20:13:03.000Z",
|
|
"total_span_minutes": 275,
|
|
"active_minutes": 163,
|
|
"pauses": [
|
|
{
|
|
"from": "17:41",
|
|
"to": "18:46",
|
|
"minutes": 65
|
|
},
|
|
{
|
|
"from": "20:01",
|
|
"to": "20:48",
|
|
"minutes": 47
|
|
}
|
|
],
|
|
"longest_focus_minutes": 75
|
|
},
|
|
"top_dirs": [
|
|
{
|
|
"path": "apps/calendar/apps/web",
|
|
"pct": 22
|
|
},
|
|
{
|
|
"path": "packages/shared-storage/src",
|
|
"pct": 11
|
|
},
|
|
{
|
|
"path": "apps/mukke/apps/web",
|
|
"pct": 6
|
|
},
|
|
{
|
|
"path": "apps/contacts/apps/backend",
|
|
"pct": 3
|
|
},
|
|
{
|
|
"path": "apps/picture/apps/web",
|
|
"pct": 3
|
|
}
|
|
],
|
|
"top_extensions": [
|
|
{
|
|
"ext": ".ts",
|
|
"count": 92
|
|
},
|
|
{
|
|
"ext": "<no-ext>",
|
|
"count": 80
|
|
},
|
|
{
|
|
"ext": ".svelte",
|
|
"count": 36
|
|
},
|
|
{
|
|
"ext": ".yml",
|
|
"count": 16
|
|
},
|
|
{
|
|
"ext": ".js",
|
|
"count": 11
|
|
},
|
|
{
|
|
"ext": ".json",
|
|
"count": 9
|
|
}
|
|
],
|
|
"tags": ["calendar", "storage", "picture", "auth", "docker"],
|
|
"commits_list": [
|
|
{
|
|
"hash": "a183640",
|
|
"short": "refactor(docker): switch calendar-web to local build",
|
|
"type": "refactor",
|
|
"scope": "docker",
|
|
"additions": 4,
|
|
"deletions": 1,
|
|
"timestamp": "2026-03-20T16:38:05+01:00"
|
|
},
|
|
{
|
|
"hash": "58bdf98",
|
|
"short": "fix(calendar): add patches dir to web Dockerfile",
|
|
"type": "fix",
|
|
"scope": "calendar",
|
|
"additions": 3,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T16:38:47+01:00"
|
|
},
|
|
{
|
|
"hash": "98d1d1c",
|
|
"short": "fix(calendar): add shared-pwa package to web Dockerfile",
|
|
"type": "fix",
|
|
"scope": "calendar",
|
|
"additions": 1,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T16:40:24+01:00"
|
|
},
|
|
{
|
|
"hash": "93e1c7d",
|
|
"short": "refactor(calendar): simplify settings from 41 to 18 persisted preferences",
|
|
"type": "refactor",
|
|
"scope": "calendar",
|
|
"additions": 303,
|
|
"deletions": 478,
|
|
"timestamp": "2026-03-20T16:40:47+01:00"
|
|
},
|
|
{
|
|
"hash": "26d8eb0",
|
|
"short": "fix(calendar): add shared-app-onboarding to web Dockerfile",
|
|
"type": "fix",
|
|
"scope": "calendar",
|
|
"additions": 1,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T16:45:55+01:00"
|
|
},
|
|
{
|
|
"hash": "a5940ab",
|
|
"short": "feat(mukke): clickable songs in library, player error handling & cover fallbacks",
|
|
"type": "feat",
|
|
"scope": "mukke",
|
|
"additions": 125,
|
|
"deletions": 9,
|
|
"timestamp": "2026-03-20T17:05:07+01:00"
|
|
},
|
|
{
|
|
"hash": "3f91c46",
|
|
"short": "feat(infra): add deploy tracking with PostgreSQL, Pushgateway & Grafana dashboard",
|
|
"type": "feat",
|
|
"scope": "infra",
|
|
"additions": 928,
|
|
"deletions": 33,
|
|
"timestamp": "2026-03-20T17:08:03+01:00"
|
|
},
|
|
{
|
|
"hash": "dea632c",
|
|
"short": "fix(caddy): update all reverse proxy ports to match docker containers",
|
|
"type": "fix",
|
|
"scope": "caddy",
|
|
"additions": 13,
|
|
"deletions": 13,
|
|
"timestamp": "2026-03-20T17:09:09+01:00"
|
|
},
|
|
{
|
|
"hash": "67326b7",
|
|
"short": "fix(shared-api-client): add useRuntimeUrl flag for cross-app clients",
|
|
"type": "fix",
|
|
"scope": "shared-api-client",
|
|
"additions": 7,
|
|
"deletions": 1,
|
|
"timestamp": "2026-03-20T17:11:31+01:00"
|
|
},
|
|
{
|
|
"hash": "70b1c44",
|
|
"short": "test(mukke): add vitest setup and 34 frontend tests for player & library stores",
|
|
"type": "test",
|
|
"scope": "mukke",
|
|
"additions": 658,
|
|
"deletions": 2,
|
|
"timestamp": "2026-03-20T17:16:47+01:00"
|
|
},
|
|
{
|
|
"hash": "e124869",
|
|
"short": "fix(infra): make deploy tracking Bash 3.x compatible (macOS runner)",
|
|
"type": "fix",
|
|
"scope": "infra",
|
|
"additions": 42,
|
|
"deletions": 46,
|
|
"timestamp": "2026-03-20T17:27:31+01:00"
|
|
},
|
|
{
|
|
"hash": "e7fb207",
|
|
"short": "fix(docker): add cross-app CORS origins to todo-backend",
|
|
"type": "fix",
|
|
"scope": "docker",
|
|
"additions": 1,
|
|
"deletions": 1,
|
|
"timestamp": "2026-03-20T17:30:45+01:00"
|
|
},
|
|
{
|
|
"hash": "d3a3bc7",
|
|
"short": "refactor(calendar): remove tag groups hierarchy and legacy drag-drop composables",
|
|
"type": "refactor",
|
|
"scope": "calendar",
|
|
"additions": 213,
|
|
"deletions": 2281,
|
|
"timestamp": "2026-03-20T17:33:57+01:00"
|
|
},
|
|
{
|
|
"hash": "42fe39c",
|
|
"short": "fix(infra): fix deploy tracking dashboard datasource UIDs and instant queries",
|
|
"type": "fix",
|
|
"scope": "infra",
|
|
"additions": 6,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T17:35:41+01:00"
|
|
},
|
|
{
|
|
"hash": "1057d69",
|
|
"short": "ci(cd): add mukke-backend and mukke-web to CD pipeline",
|
|
"type": "ci",
|
|
"scope": "cd",
|
|
"additions": 9,
|
|
"deletions": 1,
|
|
"timestamp": "2026-03-20T17:39:49+01:00"
|
|
},
|
|
{
|
|
"hash": "43a2226",
|
|
"short": "perf(auth): optimize Dockerfile from ~740MB to ~350MB",
|
|
"type": "perf",
|
|
"scope": "auth",
|
|
"additions": 18,
|
|
"deletions": 19,
|
|
"timestamp": "2026-03-20T17:41:05+01:00"
|
|
},
|
|
{
|
|
"hash": "ab42c26",
|
|
"short": "feat(calendar): add CalDAV/iCal sync UI and recurring events support",
|
|
"type": "feat",
|
|
"scope": "calendar",
|
|
"additions": 1720,
|
|
"deletions": 2,
|
|
"timestamp": "2026-03-20T18:46:33+01:00"
|
|
},
|
|
{
|
|
"hash": "41fbd2f",
|
|
"short": "feat(storage): improve shared-storage robustness, scalability, and DX",
|
|
"type": "feat",
|
|
"scope": "storage",
|
|
"additions": 1315,
|
|
"deletions": 648,
|
|
"timestamp": "2026-03-20T18:52:34+01:00"
|
|
},
|
|
{
|
|
"hash": "9858723",
|
|
"short": "perf(auth): optimize Dockerfile from ~740MB to ~320MB",
|
|
"type": "perf",
|
|
"scope": "auth",
|
|
"additions": 10,
|
|
"deletions": 3,
|
|
"timestamp": "2026-03-20T18:55:24+01:00"
|
|
},
|
|
{
|
|
"hash": "eb859c1",
|
|
"short": "fix(auth): use SameSite=None for cross-subdomain SSO",
|
|
"type": "fix",
|
|
"scope": "auth",
|
|
"additions": 4,
|
|
"deletions": 2,
|
|
"timestamp": "2026-03-20T18:55:34+01:00"
|
|
},
|
|
{
|
|
"hash": "5c9e16f",
|
|
"short": "fix(calendar): integrate recurrence dialog and external calendars into UI",
|
|
"type": "fix",
|
|
"scope": "calendar",
|
|
"additions": 142,
|
|
"deletions": 6,
|
|
"timestamp": "2026-03-20T19:22:28+01:00"
|
|
},
|
|
{
|
|
"hash": "7206023",
|
|
"short": "fix(shared-auth): set SSO session cookie on login",
|
|
"type": "fix",
|
|
"scope": "shared-auth",
|
|
"additions": 13,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T19:27:33+01:00"
|
|
},
|
|
{
|
|
"hash": "01c4d3a",
|
|
"short": "feat(storage): cleanup buckets, add file-size validation and bulk delete",
|
|
"type": "feat",
|
|
"scope": "storage",
|
|
"additions": 106,
|
|
"deletions": 8,
|
|
"timestamp": "2026-03-20T19:27:42+01:00"
|
|
},
|
|
{
|
|
"hash": "511b51e",
|
|
"short": "test(calendar): add tests for CalDAV sync API, external calendars store, and recurrence",
|
|
"type": "test",
|
|
"scope": "calendar",
|
|
"additions": 73,
|
|
"deletions": 43,
|
|
"timestamp": "2026-03-20T19:31:34+01:00"
|
|
},
|
|
{
|
|
"hash": "822e753",
|
|
"short": "feat(shared): add DevBuildBadge component and getBuildDefines() helper",
|
|
"type": "feat",
|
|
"scope": "shared",
|
|
"additions": 105,
|
|
"deletions": 2,
|
|
"timestamp": "2026-03-20T19:34:21+01:00"
|
|
},
|
|
{
|
|
"hash": "b0e5a9c",
|
|
"short": "feat(storage): add upload hooks, metrics integration, and presigned multipart",
|
|
"type": "feat",
|
|
"scope": "storage",
|
|
"additions": 708,
|
|
"deletions": 28,
|
|
"timestamp": "2026-03-20T19:36:46+01:00"
|
|
},
|
|
{
|
|
"hash": "152fa5f",
|
|
"short": "feat(storage): add deleteByPrefix, copy, getMetadata and prod lifecycle rules",
|
|
"type": "feat",
|
|
"scope": "storage",
|
|
"additions": 191,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T19:40:17+01:00"
|
|
},
|
|
{
|
|
"hash": "70671e2",
|
|
"short": "perf(docker): prune devDeps and cleanup node_modules in all backend Dockerfiles",
|
|
"type": "perf",
|
|
"scope": "docker",
|
|
"additions": 35,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T19:42:01+01:00"
|
|
},
|
|
{
|
|
"hash": "aeabdca",
|
|
"short": "refactor(calendar): extract WeekView inline logic into composables (1600→903 LOC)",
|
|
"type": "refactor",
|
|
"scope": "calendar",
|
|
"additions": 339,
|
|
"deletions": 797,
|
|
"timestamp": "2026-03-20T19:43:19+01:00"
|
|
},
|
|
{
|
|
"hash": "8c2aa26",
|
|
"short": "perf(auth): replace bcrypt with bcryptjs (pure JS, no native build tools)",
|
|
"type": "perf",
|
|
"scope": "auth",
|
|
"additions": 314,
|
|
"deletions": 146,
|
|
"timestamp": "2026-03-20T19:46:16+01:00"
|
|
},
|
|
{
|
|
"hash": "8511c2c",
|
|
"short": "feat(cd): add Matrix notification on deploy failure",
|
|
"type": "feat",
|
|
"scope": "cd",
|
|
"additions": 2684,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T19:47:53+01:00"
|
|
},
|
|
{
|
|
"hash": "5832326",
|
|
"short": "docs(storage): update README with complete API documentation",
|
|
"type": "docs",
|
|
"scope": "storage",
|
|
"additions": 189,
|
|
"deletions": 95,
|
|
"timestamp": "2026-03-20T19:49:16+01:00"
|
|
},
|
|
{
|
|
"hash": "2eb280c",
|
|
"short": "test(calendar): add composable unit tests and WeekView E2E interaction tests",
|
|
"type": "test",
|
|
"scope": "calendar",
|
|
"additions": 591,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T19:51:23+01:00"
|
|
},
|
|
{
|
|
"hash": "d9ccb5e",
|
|
"short": "feat(games): add whopixels hosting at whopxl.mana.how",
|
|
"type": "feat",
|
|
"scope": "games",
|
|
"additions": 348,
|
|
"deletions": 77,
|
|
"timestamp": "2026-03-20T19:57:50+01:00"
|
|
},
|
|
{
|
|
"hash": "ecec3d5",
|
|
"short": "fix(contacts): optimize storage usage and fix photo orphan bug",
|
|
"type": "fix",
|
|
"scope": "contacts",
|
|
"additions": 68,
|
|
"deletions": 45,
|
|
"timestamp": "2026-03-20T20:01:43+01:00"
|
|
},
|
|
{
|
|
"hash": "6806ef8",
|
|
"short": "feat(calendar): add reminder UI for creating and managing event reminders",
|
|
"type": "feat",
|
|
"scope": "calendar",
|
|
"additions": 443,
|
|
"deletions": 3,
|
|
"timestamp": "2026-03-20T20:48:26+01:00"
|
|
},
|
|
{
|
|
"hash": "1ffcfa0",
|
|
"short": "docs(calendar): mark reminders as implemented in complexity audit",
|
|
"type": "docs",
|
|
"scope": "calendar",
|
|
"additions": 8,
|
|
"deletions": 3,
|
|
"timestamp": "2026-03-20T20:48:44+01:00"
|
|
},
|
|
{
|
|
"hash": "3ac976f",
|
|
"short": "feat(picture): migrate web app from Netlify to Docker/Mac Mini deployment",
|
|
"type": "feat",
|
|
"scope": "picture",
|
|
"additions": 77,
|
|
"deletions": 37,
|
|
"timestamp": "2026-03-20T20:50:12+01:00"
|
|
},
|
|
{
|
|
"hash": "b38e5ae",
|
|
"short": "fix(contacts): clean up orphaned photos on duplicate merge",
|
|
"type": "fix",
|
|
"scope": "contacts",
|
|
"additions": 19,
|
|
"deletions": 2,
|
|
"timestamp": "2026-03-20T20:50:44+01:00"
|
|
},
|
|
{
|
|
"hash": "56c3086",
|
|
"short": "test(calendar): add reminders API client tests",
|
|
"type": "test",
|
|
"scope": "calendar",
|
|
"additions": 83,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T20:52:23+01:00"
|
|
},
|
|
{
|
|
"hash": "15cde62",
|
|
"short": "refactor(mukke): optimize storage usage in song and beat services",
|
|
"type": "refactor",
|
|
"scope": "mukke",
|
|
"additions": 41,
|
|
"deletions": 37,
|
|
"timestamp": "2026-03-20T20:53:23+01:00"
|
|
},
|
|
{
|
|
"hash": "887b60c",
|
|
"short": "fix(picture): fix health endpoint and port consistency for Docker deployment",
|
|
"type": "fix",
|
|
"scope": "picture",
|
|
"additions": 9,
|
|
"deletions": 7,
|
|
"timestamp": "2026-03-20T20:54:27+01:00"
|
|
},
|
|
{
|
|
"hash": "69eac20",
|
|
"short": "refactor(picture): optimize storage service",
|
|
"type": "refactor",
|
|
"scope": "picture",
|
|
"additions": 30,
|
|
"deletions": 37,
|
|
"timestamp": "2026-03-20T20:56:44+01:00"
|
|
},
|
|
{
|
|
"hash": "e5ba591",
|
|
"short": "refactor(storage): optimize cloud drive storage service",
|
|
"type": "refactor",
|
|
"scope": "storage",
|
|
"additions": 22,
|
|
"deletions": 9,
|
|
"timestamp": "2026-03-20T20:57:18+01:00"
|
|
},
|
|
{
|
|
"hash": "6476521",
|
|
"short": "fix(picture): add patches directory to web Dockerfile",
|
|
"type": "fix",
|
|
"scope": "picture",
|
|
"additions": 1,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T20:57:38+01:00"
|
|
},
|
|
{
|
|
"hash": "e64c298",
|
|
"short": "refactor(auth,planta): optimize storage usage",
|
|
"type": "refactor",
|
|
"scope": "auth,planta",
|
|
"additions": 61,
|
|
"deletions": 107,
|
|
"timestamp": "2026-03-20T20:59:14+01:00"
|
|
},
|
|
{
|
|
"hash": "e57b645",
|
|
"short": "fix(picture): add missing PUBLIC_GOOGLE/APPLE_CLIENT_ID build args to Dockerfile",
|
|
"type": "fix",
|
|
"scope": "picture",
|
|
"additions": 4,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T20:59:34+01:00"
|
|
},
|
|
{
|
|
"hash": "9df908d",
|
|
"short": "refactor(calendar): simplify UnifiedBar and extract ViewCarousel gestures",
|
|
"type": "refactor",
|
|
"scope": "calendar",
|
|
"additions": 292,
|
|
"deletions": 338,
|
|
"timestamp": "2026-03-20T21:04:25+01:00"
|
|
},
|
|
{
|
|
"hash": "3bace08",
|
|
"short": "feat(calendar): add calendar sharing UI and service error boundaries",
|
|
"type": "feat",
|
|
"scope": "calendar",
|
|
"additions": 818,
|
|
"deletions": 2,
|
|
"timestamp": "2026-03-20T21:11:15+01:00"
|
|
},
|
|
{
|
|
"hash": "72ee82e",
|
|
"short": "docs(calendar): update complexity audit — all items resolved",
|
|
"type": "docs",
|
|
"scope": "calendar",
|
|
"additions": 18,
|
|
"deletions": 12,
|
|
"timestamp": "2026-03-20T21:11:55+01:00"
|
|
},
|
|
{
|
|
"hash": "1f9714d",
|
|
"short": "docs(devlog): add 2026-03-20 cross-app SSO & infrastructure fixes",
|
|
"type": "docs",
|
|
"scope": "devlog",
|
|
"additions": 150,
|
|
"deletions": 0,
|
|
"timestamp": "2026-03-20T21:12:33+01:00"
|
|
},
|
|
{
|
|
"hash": "df2bf9e",
|
|
"short": "fix(deploy): fix image size measurement in deploy metrics",
|
|
"type": "fix",
|
|
"scope": "deploy",
|
|
"additions": 12,
|
|
"deletions": 7,
|
|
"timestamp": "2026-03-20T21:13:03+01:00"
|
|
}
|
|
],
|
|
"review_state": "auto",
|
|
"llm": {
|
|
"model": null,
|
|
"generated_at": null
|
|
}
|
|
}
|