Problem
Angular SPA-sporet mangler et lille, dedikeret contract-guard lag mod eksisterende Django JSON responses. Uden det stiger regressionsrisikoen i host/player flow, når vi flytter flere gameplay-skærme over.
Værdi
Reducerer integrationsfejl tidligt og gør de næste gameplay-PRs mindre og mere sikre. Beskytter backend-kontrakter under Angular-first migrationen.
Hvorfor nu
Gameplay MVP PRs (#185) er aktive nu; contract-guard bør komme før flere stateful UI-trin, så fejl fanges tæt på API-klienten.
Acceptance
Angular API-client har typed request/response interfaces for session/lobby/round endpoints brugt i host+player flow.
Mapper/normalizer-lag håndterer mindst 2 kendte nullable/optional felter uden runtime crash.
Én lille testpakke (unit/integration light) dokumenterer mapping for success + malformed payload.
Ingen backend endpoint- eller payload-ændringer.
Afgrænsning
Ingen nye backend-features eller kontraktbrud.
Ingen UX-redesign; kun API-klient/mapper + tests.
Ingen cutover-flag-ændringer i denne opgave.
Problem
Angular SPA-sporet mangler et lille, dedikeret contract-guard lag mod eksisterende Django JSON responses. Uden det stiger regressionsrisikoen i host/player flow, når vi flytter flere gameplay-skærme over.
Værdi
Reducerer integrationsfejl tidligt og gør de næste gameplay-PRs mindre og mere sikre. Beskytter backend-kontrakter under Angular-first migrationen.
Hvorfor nu
Gameplay MVP PRs (#185) er aktive nu; contract-guard bør komme før flere stateful UI-trin, så fejl fanges tæt på API-klienten.
Acceptance
- Angular API-client har typed request/response interfaces for session/lobby/round endpoints brugt i host+player flow.
- Mapper/normalizer-lag håndterer mindst 2 kendte nullable/optional felter uden runtime crash.
- Én lille testpakke (unit/integration light) dokumenterer mapping for success + malformed payload.
- Ingen backend endpoint- eller payload-ændringer.
Afgrænsning
- Ingen nye backend-features eller kontraktbrud.
- Ingen UX-redesign; kun API-klient/mapper + tests.
- Ingen cutover-flag-ændringer i denne opgave.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Angular SPA-sporet mangler et lille, dedikeret contract-guard lag mod eksisterende Django JSON responses. Uden det stiger regressionsrisikoen i host/player flow, når vi flytter flere gameplay-skærme over.
Værdi
Reducerer integrationsfejl tidligt og gør de næste gameplay-PRs mindre og mere sikre. Beskytter backend-kontrakter under Angular-first migrationen.
Hvorfor nu
Gameplay MVP PRs (#185) er aktive nu; contract-guard bør komme før flere stateful UI-trin, så fejl fanges tæt på API-klienten.
Acceptance
Afgrænsning