Rydd opp seks stale "ikke bygget"-seksjoner i FEATURE_BACKLOG.md
Full gjennomgang av hele filen (4457 linjer) etter brukerspørsmål om alt arbeid faktisk var dokumentert. Internasjonale baner, individuelle turneringer sin rulle-ut, PWA-ikon, push-varsler, dashboard-forslaget og Flaggturnering sin GPS-kobling var alle markert "ikke bygget" selv om de er levert og live — hver rettet med et eksplisitt RETTELSE-avsnitt, historikken beholdt uendret under. Ren dokumentasjonsendring, ingen kode rørt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
0f0ddca7f4
commit
25c6056e76
2 changed files with 107 additions and 30 deletions
39
CHANGELOG.md
39
CHANGELOG.md
|
|
@ -11028,3 +11028,42 @@ Neste steg:
|
|||
**Rullet ut 2026-08-14** (flere delrunder samme kveld/natt, spenner
|
||||
over datogrensen) -- ren backend-endring, ingen ny migrasjon,
|
||||
`docker compose build teecup_api && up -d teecup_api` hver gang.
|
||||
|
||||
81. **FEATURE_BACKLOG.md-gjennomgang: hele filen (4457 linjer) lest linje
|
||||
for linje, seks stale "ikke bygget"-seksjoner rettet — 2026-08-14.**
|
||||
Bruker spurte om alt arbeid siste dager faktisk var registrert i
|
||||
.md-filene (foranlediget av at punkt 80 over nesten ble glemt
|
||||
committet, se dét punktets historie) — svaret utvidet seg til et
|
||||
ønske om å gå gjennom hele `FEATURE_BACKLOG.md` for glemte/utdaterte
|
||||
punkter. Full, systematisk gjennomgang (ikke stikkprøver) skilte
|
||||
reelt åpne oppgaver (15 punkter, bl.a. Bøtekasse, per-hull-historikk,
|
||||
OOM sin eclectic-/lag-/offentlig-visning, scramble-mot-enkeltspiller
|
||||
for org-lagturneringer, det nyoppdagede `played_at`-klokkeslett-hullet)
|
||||
fra seks steder der filen selv var stale (markert "ikke bygget" på
|
||||
noe som faktisk var levert, bare uten oppdaterings-notat):
|
||||
- **Internasjonale baner** — foreslo GolfAPI.io presist, som senere
|
||||
faktisk ble valgt og bygget som ADR-064/065 (Tjøme/Larvik/Nesbyen,
|
||||
live). Den klart viktigste av de seks.
|
||||
- **Individuelle turneringer** — siste notat sa "ikke rullet ut mot
|
||||
ekte teecup_db", men migrasjon 040 er bekreftet live (verifisert
|
||||
direkte mot skjemaet) -- må ha blitt rullet ut et sted mellom
|
||||
2026-07-30 og 2026-08-04 (Order of Merit, migrasjon 055, forutsetter
|
||||
det) uten at et eget "rullet ut"-notat noensinne ble skrevet.
|
||||
- **PWA-app-ikon** — merket "MIDLERTIDIG, skal erstattes senere";
|
||||
et ekte ikon ble designet og rullet ut som ADR-055 2026-08-10.
|
||||
- **Push-varsler** — en tidlig, isolert "📋 planlagt"-linje som aldri
|
||||
ble fjernet etter at en egen, senere seksjon i samme fil bygde og
|
||||
rullet ut hele varsel-systemet (in-app + push) 2026-07-28.
|
||||
- **Dashboard-blokkforslaget** — merket "IKKE BYGGET", men bekreftet
|
||||
bygget nesten ordrett i `dashboard.tsx` (samme dag, som del av
|
||||
ADR-035) -- rekkefølgen i filen ga bare et misvisende inntrykk.
|
||||
- **Flaggturnering sin GPS-kobling** — noterte en avhengighet til GPS
|
||||
som senere ble bygget (ADR-048/064); selve formatet var allerede
|
||||
live, kun GPS-posisjon-ved-siste-slag-ideen er fortsatt åpen.
|
||||
|
||||
Hver rettelse skrevet som et eksplisitt **RETTELSE**-avsnitt (samme
|
||||
disiplin filen selv allerede etablerte andre steder, f.eks.
|
||||
"RETTELSE 2026-08-03" i turneringsformat-seksjonen) -- historikken
|
||||
under hver rettelse er beholdt uendret, ikke slettet. `Sist
|
||||
oppdatert`-datoen øverst i filen (stod på 2026-07-17) rettet
|
||||
tilsvarende. Ingen kodeendring, ren dokumentasjonsopprydding.
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@
|
|||
> Status-koder: ✅ ferdig · 🔨 pågår · 📋 planlagt/fanget · ❓ trenger beslutning
|
||||
> · 🔀 endret fra opprinnelig råd · 💤 utsatt (bevisst)
|
||||
>
|
||||
> Sist oppdatert: 2026-07-17
|
||||
> Sist oppdatert: 2026-08-14 (stale-opprydding — seks seksjoner rettet
|
||||
> til å reflektere faktisk levert status, se CHANGELOG.md samme dato)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -473,8 +474,10 @@
|
|||
team_a/team_b i én match — riktig total og per-økt-delsum likevel.
|
||||
|
||||
### Push-varsler
|
||||
- **Status:** 📋 planlagt (infrastruktur)
|
||||
- «BREAKING: X vant matchen». PWA push. Egen infrastruktur-bit.
|
||||
- **Status:** ✅ HELT FERDIG 2026-07-28 — se "Varsler: push til telefon +
|
||||
in-app varslingssenter" lenger ned i denne filen for full detalj. Denne
|
||||
linjen var et tidlig notat som aldri ble fjernet da resten ble bygget
|
||||
(stale-opprydding 2026-08-14).
|
||||
|
||||
### Sanntid (WebSockets)
|
||||
- **Status:** ✅ HELT FERDIG, LIVE 2026-07-19 (ADR-025 + ADR-027). Koblet
|
||||
|
|
@ -563,12 +566,17 @@
|
|||
flagget" der siste slag ble brukt). **Konkret krav fra bruker, eksplisitt
|
||||
formulert:** en visning som viser GJENSTÅENDE slag for spilleren,
|
||||
oppdatert etter hvert spilte hull (nedtelling, ikke bare et sluttall).
|
||||
**Fremtidig idé, uttrykkelig betinget av at GPS er integrert i appen
|
||||
først** (se GPS/avstandsmåling-notatet lenger opp i denne filen, ADR-033-
|
||||
seksjonen — samme avhengighet): bruk GPS til å markere/registrere HVOR på
|
||||
banen spilleren faktisk endte opp når slagene tok slutt, ikke bare hvilket
|
||||
hull. Ingen datamodell eller UI designet ennå for noen del av dette —
|
||||
rent notat.
|
||||
**Fremtidig idé, opprinnelig betinget av at GPS ble integrert i appen
|
||||
først:** bruk GPS til å markere/registrere HVOR på banen spilleren
|
||||
faktisk endte opp når slagene tok slutt, ikke bare hvilket hull.
|
||||
**Selve Flaggturnering-formatet ER bygget og live** (se "2026-07-30:
|
||||
alle åtte formater" lenger ned i denne filen — `flag_result`-motoren,
|
||||
hull-granularitet). **GPS-avhengigheten er også borte** — GPS/
|
||||
avstandsmåling ble bygget 2026-08-10/12 (ADR-048 slag-for-slag-måling,
|
||||
ADR-064 rangefinder til grønn) — men selve GPS-posisjon-ved-siste-slag-
|
||||
ideen spesifikt for Flaggturnering er fortsatt ikke designet/bygget
|
||||
(stale-opprydding 2026-08-14: kun avhengigheten er avklart, ikke
|
||||
funksjonen selv).
|
||||
|
||||
- **Ingenting av dette er designet eller bygget ennå** — kun fanget her slik
|
||||
at det ikke går i glemmeboken. Naturlig neste steg når dette tas fatt på:
|
||||
|
|
@ -920,12 +928,18 @@ ikke sirkel/firkant som `round-scorecard.tsx` sin `ScoreMark`) ble også
|
|||
funnet og rettet samme runde. Se CHANGELOG.md 2026-07-30 for full
|
||||
verifiseringsdetalj (håndregnet HCP-kryssjekk, databasebekreftet
|
||||
persistens, full opprett-ny-turnering-flyt testet fra bunnen).
|
||||
**IKKE rullet ut mot ekte systemer ennå** — venter på brukerens
|
||||
eksplisitte bekreftelse (se CLAUDE.md for full detalj og utrullingsplan).
|
||||
|
||||
**IKKE rullet ut mot ekte `teecup_db` ennå** -- venter på brukerens
|
||||
eksplisitte bekreftelse (migrasjon 040 + redeploy av `teecup_api`), per
|
||||
CLAUDE.md sin ufravikelige regel.
|
||||
**RETTELSE 2026-08-14 — de to linjene under var stale, aldri oppdatert
|
||||
etter utrulling.** Migrasjon 040 er bekreftet live i ekte `teecup_db`
|
||||
(`tournament.format_type`/`scoring_method` finnes i produksjonsskjemaet
|
||||
med begge CHECK-constraints, verifisert direkte 2026-08-14). Individuelle
|
||||
turneringer må ha vært rullet ut en gang mellom 2026-07-30 og 2026-08-04
|
||||
— Order of Merit (migrasjon 055, se eget punkt lenger ned) forutsetter at
|
||||
individuelle turneringer allerede er live, og ble selv bekreftet
|
||||
"BYGGET, SCRATCH-/BROWSERVERIFISERT OG LIVE 2026-08-04". Denne seksjonen
|
||||
fikk aldri sitt eget "rullet ut"-notat da det skjedde — historikken under
|
||||
er beholdt uendret, kun disse to linjene er korrigert:
|
||||
~~IKKE rullet ut mot ekte systemer ennå~~ / ~~IKKE rullet ut mot ekte
|
||||
`teecup_db` ennå~~ → **✅ rullet ut, live siden senest 2026-08-04.**
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -2184,13 +2198,26 @@ sammenslåing eller rekkefølge-endring i en senere runde.
|
|||
|
||||
---
|
||||
|
||||
### Internasjonale baner (utenfor Norge) — 📋 NOTERT, IKKE designet/bygget (research 2026-08-03)
|
||||
### Internasjonale baner (utenfor Norge) — ✅ BYGGET OG LIVE 2026-08-12, se ADR-064/ADR-065 (research 2026-08-03)
|
||||
|
||||
**RETTELSE 2026-08-14 — denne seksjonen var stale, aldri oppdatert etter
|
||||
bygging.** Researchen under viste seg presis: GolfAPI.io ble faktisk
|
||||
valgt (nøyaktig leverandøren anbefalt her) og bygget som **ADR-064**
|
||||
(GolfAPI.io som tredje banekilde, delt cache-lag, kopier-inn i BEGGE
|
||||
banemodeller) — Tjøme Golfklubb, Larvik Golfklubb (Seasidebanen) og
|
||||
Nesbyen/Nesfjellet Golfklubb er alle importert og live i produksjon
|
||||
(sistnevnte med 124 manuelt registrerte GPS-koordinater, siden GolfAPI
|
||||
selv manglet koordinatdata for akkurat den banen — se ADR-064-tillegget
|
||||
2026-08-13). Rangefinder til grønn (avstand front/midt/bak) er koblet inn
|
||||
for frittstående runder. Researchen under er beholdt uendret som historisk
|
||||
kontekst for HVORFOR GolfAPI.io ble valgt — les den som bakgrunn, ikke som
|
||||
en gjenstående plan.
|
||||
|
||||
Brukeren undersøkte (i en ekstern Gemini-samtale, ikke denne økten — notert
|
||||
her for å fange retningen før den glemmes, samme rutine som Order of
|
||||
Merit-notatet over) hvordan TeeCup kan støtte baner utenfor Norge, siden
|
||||
`teeoff_db` (ADR-004/ADR-019) kun dekker norske baner. Ingen kode skrevet,
|
||||
ingen ADR-runde startet ennå — dette er et fremtidig, ikke-akutt behov,
|
||||
ingen ADR-runde startet ennå — dette var et fremtidig, ikke-akutt behov,
|
||||
relevant når/hvis TeeCup faktisk kommersialiseres og får brukere utenfor
|
||||
Norge (se `teecup.golf`-domeneplanen, kjøpt med sikte på at TeeCup etter
|
||||
hvert flytter dit fra `teecup.teeoff.no`).
|
||||
|
|
@ -2229,17 +2256,17 @@ uten koordinater/5 995€ med, «Europa»/«USA»/«Asia-Pacific+Africa» hver
|
|||
1 995€/2 995€. CSV gir 6 måneders oppdateringstilgang, deretter 20% av
|
||||
opprinnelig pris per år for videre oppdateringer.
|
||||
|
||||
**Bevisst utsatt, naturlig neste steg NÅR dette skal bygges:** en liten
|
||||
ADR (samme mønster som ADR-019) som dekker (1) ny `course.source`-verdi +
|
||||
migrasjon, (2) `app/golfapi_client.py` sitt kontraktsformat + enhets-
|
||||
konvertering (advarsel fra research: amerikanske kilder returnerer ofte
|
||||
yards, må konverteres til meter FØR lagring — `hole`/`tee_rating`-
|
||||
tabellene har ingen enhets-diskriminator i dag), (3) hvordan bane-søket i
|
||||
frontend (samme to-felts-forvirring som teeoff-søket over, se det åpne
|
||||
punktet rett over) skal skille "søk norske baner (teeoff)" fra "søk
|
||||
internasjonale baner (golfapi.io)" — trolig ett samlet søkefelt med
|
||||
landkode-basert ruting internt, ikke to synlige knapper. Ikke noe hastverk
|
||||
— ingen brukere utenfor Norge ennå.
|
||||
**Opprinnelig "neste steg"-plan, alle tre punkter nå avklart/bygget under
|
||||
ADR-064/065 (2026-08-12/13):** (1) `course.source='international'` +
|
||||
`external_course_ref` (org-siden) / `personal_course.external_golfapi_
|
||||
course_id` (global) — ikke én ny verdi i ett skjema, men et kopier-inn i
|
||||
BEGGE eksisterende banemodeller (ADR-064 Beslutning B, bekreftet med
|
||||
bruker). (2) `app/golfapi_cache.py` (ikke `golfapi_client.py` som
|
||||
opprinnelig navngitt her — client/cache-lagene ble delt i to, se ADR-064)
|
||||
håndterer enhets-/datakvalitet-defensivt, inkl. en reell tomme-strenger-
|
||||
i-stedet-for-null-bug funnet og fikset 2026-08-13. (3) Søkefeltet ble ETT
|
||||
samlet felt akkurat som antatt her — "Fant ikke banen? Søk internasjonalt
|
||||
(GolfAPI)"-lenke fra det vanlige egen-bane-søket, ikke to synlige knapper.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -2886,7 +2913,18 @@ tom-skjermens endelige form kan bestemmes.
|
|||
|
||||
---
|
||||
|
||||
### 2026-07-25 — avhengigheten er løst, konkret forslag lagt frem (📋 DESIGNET, IKKE BYGGET)
|
||||
### 2026-07-25 — avhengigheten er løst, konkret forslag lagt frem — ✅ BYGGET (RETTELSE 2026-08-14)
|
||||
|
||||
**RETTELSE 2026-08-14 — "📋 DESIGNET, IKKE BYGGET" var stale.** Blokk-
|
||||
forslaget under (Hurtighandlinger/Kommende runder/Kommende turneringer/
|
||||
Statistikk/Spilte baner/Venner/Organisasjoner) er bygget nesten ordrett —
|
||||
bekreftet direkte i `frontend/components/dashboard.tsx`, som har egne
|
||||
seksjoner for nøyaktig disse syv blokkene i samme rekkefølge (bygget som
|
||||
del av ADR-035, samme dag forslaget ble skrevet). Denne seksjonens egen
|
||||
tidsstempel ga inntrykk av at forslaget fortsatt lå ubygget da resten av
|
||||
filen (linje ~2830) allerede sa "✅ HELT FERDIG (bygget som ADR-035, live
|
||||
2026-07-25)" — samme dags rekkefølge i filen var bare forvirrende, ikke
|
||||
en reell uenighet.
|
||||
|
||||
Frittstående runder (ADR-033) er nå ferdig bygget (backend+frontend, alle
|
||||
oppfølgingsrunder), så blokkeringen over er borte. Brukeren reiste samtidig
|
||||
|
|
@ -3990,7 +4028,7 @@ Full design i ARCHITECTURE_DECISIONS.md ADR-028. Kort:
|
|||
| Del | Status | Notat |
|
||||
|---|---|---|
|
||||
| Installerbar app (manifest + ikoner + «Legg til på hjemskjerm») | ✅ bygget | `app/manifest.ts` (Next.js sin innebygde manifest-generator), `components/sw-register.tsx`, `appleWebApp`-metadata for iOS. |
|
||||
| Ikoner | ✅ bygget, **MIDLERTIDIG** | Enkelt grønt golf-flagg generert programmatisk (`public/icons/*`, `public/apple-icon.png`) — **skal erstattes med ekte design senere.** Erstattet samtidig den gamle v0.app-plassholderlogoen som lå i `apple-icon.png` fra før (var aldri TeeCup-merkevare). |
|
||||
| Ikoner | ✅ **ERSTATTET MED EKTE DESIGN 2026-08-10** | Opprinnelig et enkelt, midlertidig grønt golf-flagg generert programmatisk. Erstattet med et ekte app-ikon (ball/pokal/tee-motiv, full-bleed) — se ADR-055 i ARCHITECTURE_DECISIONS.md (inkl. en korrigeringsrunde etter en reell tegnefeil i første forsøk). Denne raden var stale frem til 2026-08-14-oppryddingen. |
|
||||
| Service worker: cache app-navigasjon + `/orgs/*`-GET-er | ✅ bygget | `public/sw.js`, nettverk-først/cache-fallback (bevisst IKKE stale-while-revalidate, se ADR-028). `public/offline.html` som siste utvei. |
|
||||
| Offline scoreregistrering (hole-scores/hole-results) | ✅ bygget | `lib/offline-queue.ts` (IndexedDB-kø) + `components/session-scorecard.tsx`. Synker automatisk ved `window`s `online`-event, pluss manuell "Synkroniser nå"-knapp. Bevisst IKKE Background Sync API (iOS Safari støtter den ikke). |
|
||||
| Andre skrivehandlinger offline (walkover, chat/feed, oppsett) | 💤 bevisst utenfor omfang | Kun de to scoreregistrerings-endepunktene er køet — se ADR-028 Beslutning B for begrunnelse per type. |
|
||||
|
|
|
|||
Loading…
Reference in a new issue