Update Todos
Flytte is_participant-logikk til team_authz.py (unngå sirkulær import) Widen scoring.py: get_scorecard/submit_hole_score/submit_hole_result/concede_match Widen matches.py: list_matches/add_participant/remove_participant/lock_lineup Widen tournaments.py: list_sessions/list_teams/concede_tournament Widen courses.py: list_holes Widen messaging.py: team chat REST-endepunkter (list/send/delete) Legge til my_session_id/my_match_id i /auth/me sin my_tournaments Frontend: legge til lenker til lag-chat/scorekort fra «Mine runder» Scratch-verifisere hele deltaker-tilgang-runden (positive + negative kontroller) Ekte typesjekket frontend-produksjonsbuild + backend py_compile på nytt før deploy-forslag Presentere plan, deploye og oppdatere .md-filer for deltaker-tilgang-runden Bygge og scratch-verifisere sekundær e-postadresse (migrasjon 017) Designe, bygge og scratch-verifisere HCP-historikk (migrasjon 018) Deploye HCP-historikk mot ekte teecup_db/containere og oppdatere .md-filer Rullet ut live og dokumentert. Med det er alle tre bekreftede punktene fra dashboard/konto-runden ferdig: deltaker-tilgang til lag-chat/scorekort, sekundær e-postadresse, og HCP-historikk.
This commit is contained in:
parent
1a86be3f83
commit
4db66915a4
2 changed files with 86 additions and 13 deletions
38
CLAUDE.md
38
CLAUDE.md
|
|
@ -2180,10 +2180,34 @@ Ferdig og verifisert:
|
|||
upåvirket. Del 2 (ekte kontosammenslåing) fortsatt IKKE designet, egen
|
||||
fremtidig runde, se FEATURE_BACKLOG.md.
|
||||
|
||||
- **HCP-historikk over tid — ✅ BYGGET OG LIVE 2026-07-21**, samme dag,
|
||||
siste av de tre bekreftede punktene fra dashboard/konto-runden. Ny
|
||||
migrasjon `018_handicap_history.sql` (append-only `handicap_history` —
|
||||
kun for personlig profil sin `app_user.handicap_index`, IKKE de org-
|
||||
scopede `player`/`team_roster`-radene, som har sitt eget uendrede
|
||||
reproduserbarhets-prinsipp fra ADR-007). `PATCH /auth/profile` logger nå
|
||||
en ny rad KUN ved en FAKTISK endring til en tallverdi — leser gjeldende
|
||||
verdi FØR overskriving for å unngå duplikater ved gjentatt lagring av
|
||||
samme verdi, og logger bevisst IKKE ved nullstilling. Ny
|
||||
`GET /auth/profile/handicap-history`. Frontend: «Vis HCP-historikk»-
|
||||
lenke i `/account` sin profilseksjon.
|
||||
**Scratch-verifisert, 18 sjekker:** ingen duplikat ved uendret
|
||||
gjenlagring, korrekt logging ved reell endring, ingen logg ved
|
||||
nullstilling, ny logg ved gjeninnsetting etter nullstilling,
|
||||
kronologisk rekkefølge riktig, full isolasjon mellom to brukeres
|
||||
historikk. `test_isolation.sql` 12/12. Ekte typesjekket
|
||||
produksjonsbuild kjørt og bekreftet.
|
||||
**Rullet ut live 2026-07-21**, bruker bekreftet eksplisitt: migrasjon
|
||||
018 kjørt mot ekte `teecup_db` (tabell bekreftet, `test_isolation.sql`
|
||||
fortsatt 12/12), deretter `docker compose up -d --build teecup_api
|
||||
teecup_frontend`. Begge containere boot-et rent,
|
||||
`/health`/`/dashboard`/`/account` → 200, `teeoff.no` upåvirket.
|
||||
**Dermed er alle tre bekreftede punktene fra dashboard/konto-runden
|
||||
(2026-07-21) ferdig bygget** (deltaker-tilgang, sekundær e-post del 1,
|
||||
HCP-historikk).
|
||||
|
||||
Neste steg:
|
||||
1. **Pågår, samme økt:** HCP-historikk over tid — siste bekreftede punkt
|
||||
fra dashboard/konto-runden (2026-07-21), gjenstår å bygge.
|
||||
2. **Pauset, venter på retning:** dashbordets tom-tilstand ved første
|
||||
1. **Pauset, venter på retning:** dashbordets tom-tilstand ved første
|
||||
innlogging. Brukeren ba om å justere det opprinnelige 2026-07-20-
|
||||
forslaget i lys av et dypere spørsmål — bør organisasjon fortsatt være
|
||||
"det som meldes først"? Min vurdering (se FEATURE_BACKLOG.md): nei,
|
||||
|
|
@ -2203,9 +2227,11 @@ Neste steg:
|
|||
stedet for gjettet på)? Trenger egen, separat designrunde — se
|
||||
FEATURE_BACKLOG.md for full analyse av hvorfor dette er vesentlig
|
||||
vanskeligere enn del 1.
|
||||
5. **Deltaker-tilgang til lag-chat/scorekort er nå BYGGET OG LIVE**
|
||||
(2026-07-21, se status over) — ADR-031s tidligere notert begrensning
|
||||
er dermed tettet.
|
||||
5. **Deltaker-tilgang til lag-chat/scorekort OG HCP-historikk er nå BEGGE
|
||||
BYGGET OG LIVE** (2026-07-21, se status over) — ADR-031s tidligere
|
||||
noterte "naturlig neste steg"-punkter er dermed alle tettet, unntatt
|
||||
notifikasjons-/aktivitetsfeed og "Mine runder" for rene påmeldinger
|
||||
(begge fortsatt IKKE bygget, se FEATURE_BACKLOG.md).
|
||||
6. Oppfølgingspunkt fra PWA-runden, eksplisitt notert på brukerens
|
||||
forespørsel: offline-scoreregistrering er ALDRI browser-testet i
|
||||
praksis (kun kodegjennomgang + build-verifisering, se ADR-028). Bruker
|
||||
|
|
|
|||
|
|
@ -1063,14 +1063,13 @@ kjørt mot ekte `teecup_db`, begge containere redeployet, `/health`/
|
|||
`/dashboard`/`/account` → 200, `teeoff.no` upåvirket.
|
||||
|
||||
### Naturlig neste steg (ikke bygget, notert for senere)
|
||||
- **Deltaker-tilgang (uten org-medlemskap) til lag-chat og scorekort** — det
|
||||
gjenstående hullet nevnt over. Krever en egen, forsiktig gjennomgang av
|
||||
`get_authorized_org`-bruken (brukt bredt i hele appen) — ikke en rask fiks.
|
||||
- Notifikasjons-/aktivitetsfeed på "Mine runder".
|
||||
- HCP-historikk over tid (personlig profil sin `handicap_index` endres i
|
||||
dag uten noen logg).
|
||||
- **Deltaker-tilgang (uten org-medlemskap) til lag-chat og scorekort — ✅
|
||||
BYGGET OG LIVE 2026-07-21**, se egen seksjon lenger ned.
|
||||
- **HCP-historikk over tid — ✅ BYGGET OG LIVE 2026-07-21**, se egen seksjon
|
||||
lenger ned.
|
||||
- Notifikasjons-/aktivitetsfeed på "Mine runder" — fortsatt IKKE bygget.
|
||||
- "Mine runder" for RENE påmeldinger (`tournament_registration` uten
|
||||
roster ennå) — v1 viser kun rostrede lag.
|
||||
roster ennå) — v1 viser kun rostrede lag, fortsatt IKKE bygget.
|
||||
|
||||
### Oppfølging samme dag: e-post + mobil — ✅ BYGGET OG SCRATCH-VERIFISERT (ADR-032)
|
||||
|
||||
|
|
@ -1214,6 +1213,54 @@ upåvirket.
|
|||
|
||||
---
|
||||
|
||||
## HCP-historikk over tid — ✅ BYGGET OG LIVE 2026-07-21
|
||||
|
||||
Siste av de tre konkrete følgepunktene brukeren bekreftet i dashboard/
|
||||
konto-runden (2026-07-21) — ADR-031s "naturlig neste steg"-punkt: den
|
||||
personlige profilens `app_user.handicap_index` endres i dag stille ved
|
||||
hver `PATCH /auth/profile`, uten noen logg over tidligere verdier.
|
||||
|
||||
**Migrasjon `018_handicap_history.sql`:** ny append-only-tabell
|
||||
`handicap_history` (`user_id`, `handicap_index`, `recorded_at`) — kun for
|
||||
den PERSONLIGE profilens HCP, bevisst atskilt fra de org-scopede
|
||||
`player.handicap_index`-radene og `team_roster.handicap_index_snapshot`
|
||||
(som allerede har sitt eget reproduserbarhets-prinsipp, ADR-007, ikke rørt
|
||||
her).
|
||||
|
||||
**Backend:** `update_profile` (`PATCH /auth/profile`) leser gjeldende HCP
|
||||
FØR den overskrives, og logger en ny historikk-rad KUN når verdien faktisk
|
||||
ENDRES til en tallverdi — ikke ved nullstilling (ingen "HCP fjernet"-
|
||||
hendelse gir mening i en verdi-over-tid-logg), og ikke ved et PATCH som
|
||||
gjentar samme verdi uendret (unngår støy fra en form som lagres på nytt
|
||||
uten reell endring). Ny `GET /auth/profile/handicap-history`.
|
||||
|
||||
**Frontend:** en «Vis HCP-historikk»-lenke i `/account` sin
|
||||
`ProfileSection`, ekspanderer til en dato+verdi-liste, hentes på nytt
|
||||
automatisk rett etter en lagring.
|
||||
|
||||
**Scratch-verifisert, 18 sjekker:** tom historikk for en fersk bruker,
|
||||
riktig logging ved første HCP-verdi, INGEN duplikat ved gjentatt lagring
|
||||
av uendret verdi (selv sammen med en annen felt-endring i samme PATCH),
|
||||
ny rad ved faktisk endring, kronologisk rekkefølge riktig, ingen logg ved
|
||||
nullstilling, ny rad ved gjeninnsetting etter nullstilling, og full
|
||||
isolasjon mellom to ulike brukeres historikk. `test_isolation.sql`
|
||||
fortsatt 12/12. Ekte typesjekket produksjonsbuild kjørt og bekreftet.
|
||||
|
||||
**Rullet ut live 2026-07-21**, bruker bekreftet eksplisitt: migrasjon 018
|
||||
kjørt mot ekte `teecup_db` (tabell bekreftet, `test_isolation.sql`
|
||||
fortsatt 12/12), deretter `docker compose up -d --build teecup_api
|
||||
teecup_frontend`. Begge containere boot-et rent, `/health`/`/dashboard`/
|
||||
`/account` → 200, `teeoff.no` upåvirket.
|
||||
|
||||
**Dermed er alle tre bekreftede punktene fra dashboard/konto-runden
|
||||
(2026-07-21) ferdig bygget:** deltaker-tilgang til lag-chat/scorekort,
|
||||
sekundær e-postadresse (del 1), og HCP-historikk. Gjenstående, bevisst
|
||||
utsatte punkter fra samme runde: dashbordets tom-tilstand-redesign
|
||||
(venter på retning), frittstående rundeføring + statistikk (trenger egen
|
||||
ADR), og konto-sammenslåing (del 2 av multi-e-post).
|
||||
|
||||
---
|
||||
|
||||
## Dashboard: tom-tilstand ved første innlogging — 📋 UNDER REVURDERING (2026-07-21), IKKE bygget
|
||||
|
||||
Brukeren påpekte 2026-07-20 at dagens tomme-tilstand ("Du har ingen
|
||||
|
|
|
|||
Loading…
Reference in a new issue