Files
weirsoe-party-protocol/docs/UI_SMOKE.md
Asger Geel Weirsoee a4c0d0603d
All checks were successful
CI / test-and-quality (push) Successful in 2m55s
CI / test-and-quality (pull_request) Successful in 2m56s
feat(cutover): harden SPA asset cache busting and rollback playbook (#188)
2026-03-01 20:52:04 +00:00

2.0 KiB

UI smoke (MVP)

Forudsætning

  • Host er logget ind i Django.
  • Mindst én aktiv kategori med spørgsmål findes.

Cutover-forudsætning (USE_SPA_UI)

  • USE_SPA_UI=false (default): brug legacy routes /lobby/ui/host + /lobby/ui/player.
  • USE_SPA_UI=true: host må gerne testes på SPA deep-link route /lobby/ui/host/<spa-path> (fx /lobby/ui/host/guess), player på /lobby/ui/player.

Flow

  1. Verificér cutover-route matcher valgt flag (legacy vs SPA shell).
  2. Åbn host-siden og tryk Opret session.
  3. Åbn player-siden i 3 faner/enheder.
  4. Join alle spillere med sessionkode og nickname.
  5. Host: vælg kategori, Start runde, Vis spørgsmål.
  6. Spillere: brug round_question_id og submit løgn.
  7. Host: Mix svar.
  8. Spillere: submit gæt.
  9. Host: Beregn score og Vis scoreboard.
  10. Host: Næste runde eller Afslut spil.

Smoke-gate (staging cutover)

USE_SPA_UI må kun aktiveres i staging når følgende er opfyldt:

  • Cutover route sanity er PASS for både OFF (legacy) og ON (SPA shell).
  • Én fuld gameplay-runde til scoreboard er PASS.
  • Next-round/final leaderboard sanity er PASS.
  • Ingen nye blocker-regressioner i host/player kerneflow.

Samme release-vindue: SPA OFF + ON verifikation

Kør begge checks i samme release-vindue (samme deploy/artifact version):

  1. OFF-pass (legacy)
    • USE_SPA_UI=false
    • Verificér legacy routes + fuld runde.
  2. ON-pass (SPA)
    • USE_SPA_UI=true
    • Behold samme release artifact og kun toggl flag/version-token ved behov.
    • Verificér SPA shell routes + fuld runde.
  3. Dokumentér begge pass i samme smoke-artifact med UTC timestamps og WPP_SPA_ASSET_VERSION.

Rollback check points

Skift straks tilbage til USE_SPA_UI=false hvis en gate fejler:

  1. Verificér legacy routes (/lobby/ui/host + /lobby/ui/player) fungerer igen.
  2. Log rollback trigger + kort repro i smoke artifact.
  3. Opret/link blocker issue før nyt cutover-forsøg.

Resultat: En fuld runde kan køres uden rå API-kald fra terminal.