managarten/devlog/2026-03-31/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

1129 lines
28 KiB
JSON

{
"date": "2026-03-31",
"day_number": 70,
"weekday": "Dienstag",
"commits": 114,
"authors": [
{
"name": "Till JS",
"count": 114
}
],
"additions": 343823,
"deletions": 27132,
"net_lines": 316691,
"files_changed": 2066,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-03-31T09:02:19.000Z",
"last_commit_at": "2026-03-31T20:23:31.000Z",
"total_span_minutes": 681,
"active_minutes": 387,
"pauses": [
{
"from": "11:11",
"to": "12:01",
"minutes": 49
},
{
"from": "14:25",
"to": "16:29",
"minutes": 124
},
{
"from": "19:10",
"to": "20:12",
"minutes": 62
},
{
"from": "20:16",
"to": "21:16",
"minutes": 59
}
],
"longest_focus_minutes": 162
},
"top_dirs": [
{
"path": "apps/memoro/apps/landing",
"pct": 28
},
{
"path": "apps/memoro/apps/mobile",
"pct": 24
},
{
"path": "apps/memoro/apps/web",
"pct": 9
},
{
"path": "apps/todo/apps/web",
"pct": 6
},
{
"path": "apps/memoro/apps/backend",
"pct": 5
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 542
},
{
"ext": ".ts",
"count": 496
},
{
"ext": ".mdx",
"count": 247
},
{
"ext": ".md",
"count": 244
},
{
"ext": ".tsx",
"count": 216
},
{
"ext": ".astro",
"count": 147
}
],
"tags": ["todo", "guides", "auth", "contacts", "auth-ui"],
"commits_list": [
{
"hash": "a545bb6",
"short": "refactor(todo): move edit button from FAB to PillNav, share state via context",
"type": "refactor",
"scope": "todo",
"additions": 47,
"deletions": 74,
"timestamp": "2026-03-31T11:02:19+02:00"
},
{
"hash": "e68e5c6",
"short": "refactor(shared-ui): unify icon system to Phosphor, remove SVG path fallbacks",
"type": "refactor",
"scope": "shared-ui",
"additions": 134,
"deletions": 330,
"timestamp": "2026-03-31T11:11:51+02:00"
},
{
"hash": "9f6e463",
"short": "refactor(calendar,contacts): replace inline SVGs with Phosphor icons",
"type": "refactor",
"scope": "calendar,contacts",
"additions": 365,
"deletions": 1717,
"timestamp": "2026-03-31T12:01:18+02:00"
},
{
"hash": "3f2e6a3",
"short": "feat(todo): unify view modes into single route with Fokus/Übersicht/Matrix layouts",
"type": "feat",
"scope": "todo",
"additions": 709,
"deletions": 1803,
"timestamp": "2026-03-31T12:03:58+02:00"
},
{
"hash": "f58d58f",
"short": "refactor(apps): replace inline SVGs with Phosphor icons across 19 apps",
"type": "refactor",
"scope": "apps",
"additions": 179,
"deletions": 687,
"timestamp": "2026-03-31T12:18:20+02:00"
},
{
"hash": "504e775",
"short": "refactor(apps): automated SVG-to-Phosphor migration across all apps",
"type": "refactor",
"scope": "apps",
"additions": 780,
"deletions": 3083,
"timestamp": "2026-03-31T12:35:17+02:00"
},
{
"hash": "59e535a",
"short": "refactor(todo): move ViewSelector behind Layout pill, simplify homepage",
"type": "refactor",
"scope": "todo",
"additions": 135,
"deletions": 451,
"timestamp": "2026-03-31T12:41:28+02:00"
},
{
"hash": "25e3962",
"short": "refactor(apps): final SVG-to-Phosphor pass for photos, clock, mukke, inventar",
"type": "refactor",
"scope": "apps",
"additions": 65,
"deletions": 350,
"timestamp": "2026-03-31T12:41:43+02:00"
},
{
"hash": "47f981f",
"short": "refactor(shared-ui): replace remaining inline SVGs with Phosphor icons",
"type": "refactor",
"scope": "shared-ui",
"additions": 119,
"deletions": 477,
"timestamp": "2026-03-31T12:44:50+02:00"
},
{
"hash": "14df2cd",
"short": "fix(auth): declare accessTier as additionalField so Better Auth includes it in user object",
"type": "fix",
"scope": "auth",
"additions": 11,
"deletions": 0,
"timestamp": "2026-03-31T12:46:29+02:00"
},
{
"hash": "c02e264",
"short": "docs: add Phosphor icon guidelines to code-style.md",
"type": null,
"scope": null,
"additions": 32,
"deletions": 0,
"timestamp": "2026-03-31T12:46:39+02:00"
},
{
"hash": "56f89b8",
"short": "fix(shared-ui): resolve Tag identifier collision in TagList",
"type": "fix",
"scope": "shared-ui",
"additions": 2,
"deletions": 2,
"timestamp": "2026-03-31T12:47:03+02:00"
},
{
"hash": "74ff066",
"short": "simplify(todo): single view with edit mode, remove ViewSelector",
"type": "simplify",
"scope": "todo",
"additions": 12,
"deletions": 88,
"timestamp": "2026-03-31T12:51:44+02:00"
},
{
"hash": "101f20e",
"short": "refactor(todo,calendar): extract duplicated constants and utilities",
"type": "refactor",
"scope": "todo,calendar",
"additions": 438,
"deletions": 371,
"timestamp": "2026-03-31T13:01:00+02:00"
},
{
"hash": "52e09e4",
"short": "refactor(todo): merge TagStrip into unified filter strip",
"type": "refactor",
"scope": "todo",
"additions": 53,
"deletions": 55,
"timestamp": "2026-03-31T13:07:34+02:00"
},
{
"hash": "bc17889",
"short": "refactor(contacts,todo): extract shared utilities, eliminate duplication",
"type": "refactor",
"scope": "contacts,todo",
"additions": 67,
"deletions": 106,
"timestamp": "2026-03-31T13:10:55+02:00"
},
{
"hash": "3211878",
"short": "feat(todo): add clickable Tags label pill linking to /tags management",
"type": "feat",
"scope": "todo",
"additions": 41,
"deletions": 13,
"timestamp": "2026-03-31T13:11:57+02:00"
},
{
"hash": "4872bc0",
"short": "refactor(contacts): extract error helper, field labels, match type labels",
"type": "refactor",
"scope": "contacts",
"additions": 60,
"deletions": 40,
"timestamp": "2026-03-31T13:14:18+02:00"
},
{
"hash": "8465383",
"short": "refactor(todo): replace Mehr dropdown with inline project pills, add Filter label",
"type": "refactor",
"scope": "todo",
"additions": 46,
"deletions": 121,
"timestamp": "2026-03-31T13:14:57+02:00"
},
{
"hash": "b354195",
"short": "refactor(contacts): apply getErrorMessage helper to remaining files",
"type": "refactor",
"scope": "contacts",
"additions": 11,
"deletions": 9,
"timestamp": "2026-03-31T13:15:31+02:00"
},
{
"hash": "97798e5",
"short": "refactor(auth-ui): rewrite LoginPage + RegisterPage to use Tailwind CSS",
"type": "refactor",
"scope": "auth-ui",
"additions": 525,
"deletions": 980,
"timestamp": "2026-03-31T13:16:14+02:00"
},
{
"hash": "8d07123",
"short": "fix(shared-ui): rename Tag type to TagType to avoid collision with Svelte internals",
"type": "fix",
"scope": "shared-ui",
"additions": 6,
"deletions": 6,
"timestamp": "2026-03-31T13:21:21+02:00"
},
{
"hash": "d8b6178",
"short": "refactor(calendar): extract CalendarManagement into shared component",
"type": "refactor",
"scope": "calendar",
"additions": 506,
"deletions": 1007,
"timestamp": "2026-03-31T13:27:34+02:00"
},
{
"hash": "27cd84c",
"short": "feat(todo): inline layout editor replacing ViewEditorModal",
"type": "feat",
"scope": "todo",
"additions": 4,
"deletions": 26,
"timestamp": "2026-03-31T13:31:33+02:00"
},
{
"hash": "4f8209f",
"short": "feat(todo): add inline layout editor to homepage",
"type": "feat",
"scope": "todo",
"additions": 417,
"deletions": 4,
"timestamp": "2026-03-31T13:33:30+02:00"
},
{
"hash": "c3bee26",
"short": "refactor(todo): extract shared useTaskForm composable",
"type": "refactor",
"scope": "todo",
"additions": 373,
"deletions": 266,
"timestamp": "2026-03-31T13:34:52+02:00"
},
{
"hash": "3b54d4d",
"short": "refactor(auth-ui): i18n, security fixes, type safety across auth components",
"type": "refactor",
"scope": "auth-ui",
"additions": 514,
"deletions": 360,
"timestamp": "2026-03-31T13:41:53+02:00"
},
{
"hash": "1926c6b",
"short": "feat(todo): inline column editing in board headers, remove separate editor",
"type": "feat",
"scope": "todo",
"additions": 338,
"deletions": 188,
"timestamp": "2026-03-31T13:43:47+02:00"
},
{
"hash": "dc4ba0a",
"short": "feat(todo): color picker popup on column dot instead of inline swatches",
"type": "feat",
"scope": "todo",
"additions": 189,
"deletions": 80,
"timestamp": "2026-03-31T13:49:16+02:00"
},
{
"hash": "41ca11e",
"short": "feat(todo): inline \"Neues Board\" card as last column in all layouts",
"type": "feat",
"scope": "todo",
"additions": 679,
"deletions": 46,
"timestamp": "2026-03-31T13:58:01+02:00"
},
{
"hash": "e6e8d42",
"short": "feat(manascore): add ecosystem-audit script",
"type": "feat",
"scope": "manascore",
"additions": 404,
"deletions": 0,
"timestamp": "2026-03-31T13:59:09+02:00"
},
{
"hash": "8437a41",
"short": "refactor: replace stale NestJS backend scripts with Hono server scripts",
"type": null,
"scope": null,
"additions": 64,
"deletions": 94,
"timestamp": "2026-03-31T14:03:40+02:00"
},
{
"hash": "5fa773d",
"short": "refactor(auth-ui): unify dark mode to CSS variables + .dark class pattern",
"type": "refactor",
"scope": "auth-ui",
"additions": 180,
"deletions": 451,
"timestamp": "2026-03-31T14:06:25+02:00"
},
{
"hash": "0c89400",
"short": "feat(manascore): add 5 new ecosystem metrics",
"type": "feat",
"scope": "manascore",
"additions": 514,
"deletions": 41,
"timestamp": "2026-03-31T14:06:29+02:00"
},
{
"hash": "f58a6d1",
"short": "docs: document Ecosystem Health Score in about.md and CLAUDE.md",
"type": null,
"scope": null,
"additions": 61,
"deletions": 0,
"timestamp": "2026-03-31T14:09:14+02:00"
},
{
"hash": "3fb1edd",
"short": "feat(manascore): add security headers, skeleton loading, TODO count metrics",
"type": "feat",
"scope": "manascore",
"additions": 180,
"deletions": 18,
"timestamp": "2026-03-31T14:13:04+02:00"
},
{
"hash": "3b7b6c9",
"short": "refactor(auth-ui): SessionManager i18n, shared userAgent util, a11y fixes",
"type": "refactor",
"scope": "auth-ui",
"additions": 126,
"deletions": 67,
"timestamp": "2026-03-31T14:14:16+02:00"
},
{
"hash": "2018192",
"short": "feat(manascore): add Tier 2 ecosystem metrics",
"type": "feat",
"scope": "manascore",
"additions": 248,
"deletions": 9,
"timestamp": "2026-03-31T14:20:20+02:00"
},
{
"hash": "e5c63f6",
"short": "fix(auth-ui): add focus traps to modals + aria-disabled on all buttons",
"type": "fix",
"scope": "auth-ui",
"additions": 98,
"deletions": 0,
"timestamp": "2026-03-31T14:22:25+02:00"
},
{
"hash": "750a0c7",
"short": "refactor(calendar): remove todo integration entirely",
"type": "refactor",
"scope": "calendar",
"additions": 38,
"deletions": 4555,
"timestamp": "2026-03-31T14:25:34+02:00"
},
{
"hash": "cea0c97",
"short": "fix(contacts): fix CSP blocking auth, broken contact detail modal, and missing click handler",
"type": "fix",
"scope": "contacts",
"additions": 40,
"deletions": 38,
"timestamp": "2026-03-31T16:29:18+02:00"
},
{
"hash": "df1cd4b",
"short": "chore(calendar): remove showTasksInCalendar from localStorage migration",
"type": "chore",
"scope": "calendar",
"additions": 0,
"deletions": 1,
"timestamp": "2026-03-31T16:30:53+02:00"
},
{
"hash": "d460c9e",
"short": "feat(ecosystem-audit): add Tier 3 metrics (git activity, a11y, auth guard, docker)",
"type": "feat",
"scope": "ecosystem-audit",
"additions": 303,
"deletions": 68,
"timestamp": "2026-03-31T16:32:56+02:00"
},
{
"hash": "ed9672e",
"short": "refactor(todo): remove projects concept, unify views with Fokus/Übersicht/Matrix",
"type": "refactor",
"scope": "todo",
"additions": 74,
"deletions": 866,
"timestamp": "2026-03-31T16:34:51+02:00"
},
{
"hash": "4fb8519",
"short": "test(auth): add 68 unit tests for auth-ui, shared-auth, and shared-branding",
"type": "test",
"scope": "auth",
"additions": 555,
"deletions": 5,
"timestamp": "2026-03-31T16:35:16+02:00"
},
{
"hash": "708299b",
"short": "fix(startup): add Colima datadisk symlink safety check on boot",
"type": "fix",
"scope": "startup",
"additions": 22,
"deletions": 0,
"timestamp": "2026-03-31T16:39:51+02:00"
},
{
"hash": "ab387b9",
"short": "chore: remove all NestJS backend references, replace with Hono/Bun",
"type": null,
"scope": null,
"additions": 603,
"deletions": 2403,
"timestamp": "2026-03-31T16:52:25+02:00"
},
{
"hash": "e5ca208",
"short": "feat(contacts): add context menu to alphabet/grid views with icons, add icons to todo context menu",
"type": "feat",
"scope": "contacts",
"additions": 121,
"deletions": 4,
"timestamp": "2026-03-31T16:55:29+02:00"
},
{
"hash": "7bc4db7",
"short": "fix(builds): repair inventar settings import and add skilltree storage service",
"type": "fix",
"scope": "builds",
"additions": 43,
"deletions": 2,
"timestamp": "2026-03-31T16:56:37+02:00"
},
{
"hash": "6e75718",
"short": "feat(arcade): migrate backend from NestJS to Hono/Bun",
"type": "feat",
"scope": "arcade",
"additions": 4606,
"deletions": 2014,
"timestamp": "2026-03-31T17:02:14+02:00"
},
{
"hash": "1b0c46e",
"short": "fix(inventar-web): suppress prerender 404 for missing favicon.png",
"type": "fix",
"scope": "inventar-web",
"additions": 7,
"deletions": 0,
"timestamp": "2026-03-31T17:04:49+02:00"
},
{
"hash": "019ad55",
"short": "fix(shared-pwa): remove favicon.png from default include assets",
"type": "fix",
"scope": "shared-pwa",
"additions": 1,
"deletions": 8,
"timestamp": "2026-03-31T17:15:07+02:00"
},
{
"hash": "09d5576",
"short": "feat(memoro): integrate memoro web app into monorepo (phases 1-6)",
"type": "feat",
"scope": "memoro",
"additions": 33941,
"deletions": 0,
"timestamp": "2026-03-31T17:05:24+02:00"
},
{
"hash": "d8a2b37",
"short": "chore(memoro): import legacy backend, mobile, and landing apps",
"type": "chore",
"scope": "memoro",
"additions": 280653,
"deletions": 2,
"timestamp": "2026-03-31T17:08:45+02:00"
},
{
"hash": "b37df6f",
"short": "feat(todo): redesign task detail modal + add inline subtasks",
"type": "feat",
"scope": "todo",
"additions": 597,
"deletions": 393,
"timestamp": "2026-03-31T17:13:59+02:00"
},
{
"hash": "111a7e8",
"short": "fix(contacts): use elevated surface background for contact detail modal",
"type": "fix",
"scope": "contacts",
"additions": 1,
"deletions": 1,
"timestamp": "2026-03-31T17:14:11+02:00"
},
{
"hash": "6496d90",
"short": "feat(todo): add inline subtasks to KanbanTaskCard (Fokus layout)",
"type": "feat",
"scope": "todo",
"additions": 114,
"deletions": 0,
"timestamp": "2026-03-31T17:17:51+02:00"
},
{
"hash": "0398997",
"short": "fix(compose): change calc-web port from 5026 to 5031 (port conflict with zitare-web)",
"type": "fix",
"scope": "compose",
"additions": 3,
"deletions": 3,
"timestamp": "2026-03-31T17:23:56+02:00"
},
{
"hash": "cbe877c",
"short": "fix(todo): prevent DnD from blocking subtask clicks in KanbanTaskCard",
"type": "fix",
"scope": "todo",
"additions": 2,
"deletions": 1,
"timestamp": "2026-03-31T17:27:38+02:00"
},
{
"hash": "2a00310",
"short": "fix(todo): use \\$state.snapshot() for subtask toggle to avoid DataCloneError",
"type": "fix",
"scope": "todo",
"additions": 4,
"deletions": 2,
"timestamp": "2026-03-31T17:31:35+02:00"
},
{
"hash": "adfcc7d",
"short": "design(todo): paper-style task cards — no border/bg, text-proportional checkboxes",
"type": "design",
"scope": "todo",
"additions": 55,
"deletions": 69,
"timestamp": "2026-03-31T17:34:21+02:00"
},
{
"hash": "420bf07",
"short": "design(todo): wrap task and subtask titles instead of truncating",
"type": "design",
"scope": "todo",
"additions": 9,
"deletions": 10,
"timestamp": "2026-03-31T17:36:31+02:00"
},
{
"hash": "bce533c",
"short": "fix(uload-web): add missing svelte-i18n dependency",
"type": "fix",
"scope": "uload-web",
"additions": 4,
"deletions": 0,
"timestamp": "2026-03-31T17:38:12+02:00"
},
{
"hash": "402baf7",
"short": "feat(monitoring): add uptime monitoring via Blackbox Exporter",
"type": "feat",
"scope": "monitoring",
"additions": 984,
"deletions": 0,
"timestamp": "2026-03-31T17:43:25+02:00"
},
{
"hash": "a22f1de",
"short": "feat(todo): complete animation + \"Heute erledigt\" section on focus pages",
"type": "feat",
"scope": "todo",
"additions": 111,
"deletions": 5,
"timestamp": "2026-03-31T17:45:22+02:00"
},
{
"hash": "31d661c",
"short": "docs(mac-mini): document uptime monitoring tools and Grafana dashboard",
"type": "docs",
"scope": "mac-mini",
"additions": 9,
"deletions": 0,
"timestamp": "2026-03-31T17:46:10+02:00"
},
{
"hash": "23aa5e2",
"short": "fix(uload-web): add missing @tailwindcss/forms dependency",
"type": "fix",
"scope": "uload-web",
"additions": 4,
"deletions": 0,
"timestamp": "2026-03-31T17:48:43+02:00"
},
{
"hash": "999c54a",
"short": "fix(todo): scrollable sheet body + subtasks animate complete with parent",
"type": "fix",
"scope": "todo",
"additions": 59,
"deletions": 47,
"timestamp": "2026-03-31T17:50:22+02:00"
},
{
"hash": "b1af506",
"short": "fix(auth): surface email-not-verified error and detect needsVerification on signup",
"type": "fix",
"scope": "auth",
"additions": 15,
"deletions": 5,
"timestamp": "2026-03-31T17:52:47+02:00"
},
{
"hash": "38135ca",
"short": "fix(uload-web): add missing @tailwindcss/typography dependency",
"type": "fix",
"scope": "uload-web",
"additions": 1,
"deletions": 0,
"timestamp": "2026-03-31T17:59:59+02:00"
},
{
"hash": "36922cc",
"short": "fix(mana-auth): robust email-not-verified detection",
"type": "fix",
"scope": "mana-auth",
"additions": 6,
"deletions": 3,
"timestamp": "2026-03-31T18:01:24+02:00"
},
{
"hash": "504f77a",
"short": "debug: log login error shape",
"type": null,
"scope": null,
"additions": 9,
"deletions": 0,
"timestamp": "2026-03-31T18:05:41+02:00"
},
{
"hash": "d044afe",
"short": "feat(status-page): add public status page at status.mana.how",
"type": "feat",
"scope": "status-page",
"additions": 421,
"deletions": 0,
"timestamp": "2026-03-31T18:07:07+02:00"
},
{
"hash": "bdf76cb",
"short": "fix(mana-auth): remove debug log, finalize EMAIL_NOT_VERIFIED detection",
"type": "fix",
"scope": "mana-auth",
"additions": 2,
"deletions": 14,
"timestamp": "2026-03-31T18:07:57+02:00"
},
{
"hash": "f4713ec",
"short": "fix(status-page): use host network so container reaches VictoriaMetrics on localhost:9090",
"type": "fix",
"scope": "status-page",
"additions": 6,
"deletions": 6,
"timestamp": "2026-03-31T18:11:30+02:00"
},
{
"hash": "0500fb7",
"short": "fix(prerender): suppress favicon.png 404 during prerender in skilltree and nutriphi",
"type": "fix",
"scope": "prerender",
"additions": 12,
"deletions": 0,
"timestamp": "2026-03-31T18:11:53+02:00"
},
{
"hash": "6801ba9",
"short": "fix(status-page): increase mem_limit to 64m for apk add",
"type": "fix",
"scope": "status-page",
"additions": 2,
"deletions": 2,
"timestamp": "2026-03-31T18:12:46+02:00"
},
{
"hash": "cc242d9",
"short": "fix(inventar-web): use browser error tracking import in hooks.client.ts",
"type": "fix",
"scope": "inventar-web",
"additions": 3,
"deletions": 5,
"timestamp": "2026-03-31T18:15:12+02:00"
},
{
"hash": "86c2abb",
"short": "fix(landings-nginx): mkdir snippets before copy, add status.mana.how vhost",
"type": "fix",
"scope": "landings-nginx",
"additions": 3,
"deletions": 2,
"timestamp": "2026-03-31T18:17:22+02:00"
},
{
"hash": "5b11f4b",
"short": "fix(uload-web): add health endpoint for Docker healthcheck",
"type": "fix",
"scope": "uload-web",
"additions": 3,
"deletions": 0,
"timestamp": "2026-03-31T18:20:42+02:00"
},
{
"hash": "58e03e7",
"short": "docs: warn about dual cloudflared config (repo vs server file)",
"type": null,
"scope": null,
"additions": 7,
"deletions": 0,
"timestamp": "2026-03-31T18:22:59+02:00"
},
{
"hash": "fa8b2cd",
"short": "feat(infra): migrate chat-web, clock-web, presi-web, nutriphi-web from GHCR to local builds",
"type": "feat",
"scope": "infra",
"additions": 16,
"deletions": 4,
"timestamp": "2026-03-31T18:28:31+02:00"
},
{
"hash": "f79ad17",
"short": "refactor(todo): simplify to single Fokus view, remove Übersicht/Matrix tabs",
"type": "refactor",
"scope": "todo",
"additions": 4,
"deletions": 37,
"timestamp": "2026-03-31T18:29:24+02:00"
},
{
"hash": "5871283",
"short": "docs: add Mana Bundle Format plan",
"type": null,
"scope": null,
"additions": 240,
"deletions": 0,
"timestamp": "2026-03-31T18:31:45+02:00"
},
{
"hash": "8e16010",
"short": "fix(presi-web): export auth alias from auth store for existing imports",
"type": "fix",
"scope": "presi-web",
"additions": 2,
"deletions": 0,
"timestamp": "2026-03-31T18:32:03+02:00"
},
{
"hash": "d23ef52",
"short": "fix(mana-auth): set callbackURL instead of redirectTo for email verification redirect",
"type": "fix",
"scope": "mana-auth",
"additions": 3,
"deletions": 2,
"timestamp": "2026-03-31T18:34:56+02:00"
},
{
"hash": "af33b1c",
"short": "fix(cloudflared): sync config with actual container ports and add missing apps",
"type": "fix",
"scope": "cloudflared",
"additions": 32,
"deletions": 16,
"timestamp": "2026-03-31T18:40:26+02:00"
},
{
"hash": "c736dd5",
"short": "docs: add Memoro backend Hono/Bun migration plan",
"type": null,
"scope": null,
"additions": 499,
"deletions": 0,
"timestamp": "2026-03-31T18:43:44+02:00"
},
{
"hash": "259253e",
"short": "feat(auth): show resend verification panel when registering with existing unverified email",
"type": "feat",
"scope": "auth",
"additions": 129,
"deletions": 43,
"timestamp": "2026-03-31T18:44:01+02:00"
},
{
"hash": "08032c0",
"short": "feat(manascore): add live uptime badges from status.mana.how",
"type": "feat",
"scope": "manascore",
"additions": 62,
"deletions": 0,
"timestamp": "2026-03-31T18:47:55+02:00"
},
{
"hash": "bf49b95",
"short": "fix(clock-web): fix mangled import in stopwatch page",
"type": "fix",
"scope": "clock-web",
"additions": 1,
"deletions": 1,
"timestamp": "2026-03-31T18:49:04+02:00"
},
{
"hash": "a6560a3",
"short": "fix(status-json): strip /health path before .mana.how suffix for correct service keys",
"type": "fix",
"scope": "status-json",
"additions": 3,
"deletions": 1,
"timestamp": "2026-03-31T18:49:18+02:00"
},
{
"hash": "e335519",
"short": "docs(auth): add Auth UX Patterns section with email verification rules",
"type": "docs",
"scope": "auth",
"additions": 35,
"deletions": 0,
"timestamp": "2026-03-31T18:51:04+02:00"
},
{
"hash": "838b4c1",
"short": "refactor(ui): apply elevation system across todo, contacts, calendar, clock apps",
"type": "refactor",
"scope": "ui",
"additions": 245,
"deletions": 755,
"timestamp": "2026-03-31T19:00:24+02:00"
},
{
"hash": "a0caa1f",
"short": "fix(manacore-web): fix login redirect flow",
"type": "fix",
"scope": "manacore-web",
"additions": 10,
"deletions": 19,
"timestamp": "2026-03-31T19:02:04+02:00"
},
{
"hash": "29515e7",
"short": "feat(memoro): add Hono/Bun server + audio-server (replaces NestJS)",
"type": "feat",
"scope": "memoro",
"additions": 3903,
"deletions": 0,
"timestamp": "2026-03-31T19:03:31+02:00"
},
{
"hash": "3ea2c03",
"short": "feat(todo): inline title editing + detail modal button on task items",
"type": "feat",
"scope": "todo",
"additions": 109,
"deletions": 111,
"timestamp": "2026-03-31T19:06:55+02:00"
},
{
"hash": "5e4518b",
"short": "refactor(ui): unify LanguageSelector, ConfirmDialog, and AppSlider across apps",
"type": "refactor",
"scope": "ui",
"additions": 62,
"deletions": 228,
"timestamp": "2026-03-31T19:10:55+02:00"
},
{
"hash": "0a9c381",
"short": "feat(guides): add mana guides app — step-by-step playbook app",
"type": "feat",
"scope": "guides",
"additions": 2460,
"deletions": 0,
"timestamp": "2026-03-31T20:12:36+02:00"
},
{
"hash": "6e0dd0c",
"short": "docs(devlog): add 2026-03-31 entry — Memoro, status.mana.how, Todo polish, infra",
"type": "docs",
"scope": "devlog",
"additions": 351,
"deletions": 0,
"timestamp": "2026-03-31T20:15:56+02:00"
},
{
"hash": "6d2509c",
"short": "feat(memoro): add deployment infrastructure and migrate web services to new Hono server",
"type": "feat",
"scope": "memoro",
"additions": 322,
"deletions": 752,
"timestamp": "2026-03-31T20:16:54+02:00"
},
{
"hash": "a893b07",
"short": "feat(guides): complete Phase 1 — auth routes, i18n, collection detail, import fixes",
"type": "feat",
"scope": "guides",
"additions": 480,
"deletions": 13,
"timestamp": "2026-03-31T21:16:16+02:00"
},
{
"hash": "8e496ff",
"short": "fix(memoro): migrate web services + add credits balance endpoint",
"type": "fix",
"scope": "memoro",
"additions": 94,
"deletions": 333,
"timestamp": "2026-03-31T21:20:52+02:00"
},
{
"hash": "1a999f8",
"short": "feat(guides): Phase 2 — step editor, edit mode, collection management",
"type": "feat",
"scope": "guides",
"additions": 687,
"deletions": 110,
"timestamp": "2026-03-31T21:23:47+02:00"
},
{
"hash": "7f1c83f",
"short": "feat(guides): collection selector in guide modal, quick inline step add",
"type": "feat",
"scope": "guides",
"additions": 96,
"deletions": 16,
"timestamp": "2026-03-31T21:26:07+02:00"
},
{
"hash": "e624756",
"short": "feat(guides): Phase 3 — Hono/Bun server for web import and guide sharing",
"type": "feat",
"scope": "guides",
"additions": 306,
"deletions": 0,
"timestamp": "2026-03-31T21:29:59+02:00"
},
{
"hash": "c6448a6",
"short": "fix(mana-auth): avoid error.body access in login catch — triggers async stream read",
"type": "fix",
"scope": "mana-auth",
"additions": 4,
"deletions": 4,
"timestamp": "2026-03-31T21:41:06+02:00"
},
{
"hash": "ec0af64",
"short": "fix(memoro/web): fix broken authService.forgotPassword reference + add auth URL to env example",
"type": "fix",
"scope": "memoro/web",
"additions": 6,
"deletions": 2,
"timestamp": "2026-03-31T21:41:25+02:00"
},
{
"hash": "a02dceb",
"short": "feat(guides): ImportModal, share button, CLAUDE.md, server dev scripts",
"type": "feat",
"scope": "guides",
"additions": 543,
"deletions": 11,
"timestamp": "2026-03-31T21:42:26+02:00"
},
{
"hash": "6259770",
"short": "fix(memoro/server): resolve all TypeScript strict mode errors",
"type": "fix",
"scope": "memoro/server",
"additions": 28,
"deletions": 27,
"timestamp": "2026-03-31T21:59:31+02:00"
},
{
"hash": "8a7efdd",
"short": "fix(memoro/audio-server): resolve TypeScript errors",
"type": "fix",
"scope": "memoro/audio-server",
"additions": 2,
"deletions": 1,
"timestamp": "2026-03-31T22:00:16+02:00"
},
{
"hash": "71db334",
"short": "feat(guides): PillNavigation + public shared guide route",
"type": "feat",
"scope": "guides",
"additions": 376,
"deletions": 79,
"timestamp": "2026-03-31T22:00:31+02:00"
},
{
"hash": "1605796",
"short": "fix(memoro/web): declare new env vars in app.d.ts",
"type": "fix",
"scope": "memoro/web",
"additions": 5,
"deletions": 0,
"timestamp": "2026-03-31T22:03:19+02:00"
},
{
"hash": "3f08110",
"short": "feat(todo): refactor inline title editing + kanban subtask DnD",
"type": "feat",
"scope": "todo",
"additions": 523,
"deletions": 613,
"timestamp": "2026-03-31T22:23:31+02:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}