fix(planner): align shared zod source enum with API; v0.6.6-rc23 #476
No reviewers
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp!476
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/shared-schema-todo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Hotfix für rc22-Vorfall: /heute lud auf dem Device nicht mehr — Client warf 'Response from GET /planner/today did not match expected schema', weil der shared-zod
candidateSourceSchemaden in #472 hinzugefügten'todo'-Wert nicht kannte.Ursache
API-Drizzle-pgEnum (
candidate_source) wurde in #472 um'todo'erweitert; der parallel gepflegte zod-Mirror inpackages/shared-types/src/day-plan.tsblieb auf 6 Werten. API liefert legitimen 'todo'-Source, Client-Parse explodiert. API-Integrationtests blieben grün, weil supertest die Response nicht durch die Client-zod parst — ein Web-Playwright-Test gegen /heute hätte das gefangen.Changes
packages/shared-types/src/day-plan.ts—candidateSourceSchema+='todo'packages/feature-day-planner/src/components/day-planner-screen.tsx—SOURCE_LABELRecord um'todo': 'Todo'ergänzt (typecheck fängt jetzt jeden zukünftigen Source-Drift)apps/web/e2e/heute-todo-flow.spec.ts— Regression-Guard: Todo→/heute end-to-end, assertet Abwesenheit der Schema-FehlermeldungTest plan
pnpm --filter @mrrmlab/shared-types run buildpnpm --filter @mrrmlab/feature-day-planner run typecheck(verifiziert SOURCE_LABEL exhaustiveness)🤖 Generated with Claude Code