Update Todos

Generer PWA-ikoner (gjort)

Bygg manifest.ts + apple-touch/meta i layout.tsx

Bygg service worker (public/sw.js) + offline.html + registrering

Bygg IndexedDB-kø (lib/offline-queue.ts) for offline scoreregistrering

Koble session-scorecard.tsx til offline-kø + banner + optimistisk UI

Skriv ADR-028 + FEATURE_BACKLOG-oppdatering

Typesjekket produksjonsbuild + kodegjennomgang av offline-flyten

Rulle ut og verifisere live + oppdatere .md-status
Ja, det er notert. PWA er live og verifisert (/health, /dashboard, manifest, service worker og ikoner alle svarer riktig over ekte https, teeoff.no upåvirket).

Det viktigste punktet du ba om å få notert — at jeg ikke har testet offline-flyten i en ekte nettleser, kun via kodegjennomgang og produksjonsbuild — ligger nå øverst i CLAUDE.md sin "Neste steg"-liste og i FEATURE_BACKLOG.md sin PWA-tabell, med konkret fremgangsmåte for hva du bør sjekke (åpne scorekort → DevTools offline-modus → registrer slag → skru nettet på → bekreft synk).
This commit is contained in:
Erol Haagenrud 2026-07-19 23:54:19 +02:00
parent a32b8027f3
commit 7d911f67d5
4 changed files with 39 additions and 12 deletions

View file

@ -315,7 +315,12 @@
"Bash(curl -s -o /dev/null -w \"192: %{http_code}\\\\n\" http://localhost:18734/icons/icon-192.png)",
"Bash(curl -s -o /dev/null -w \"512: %{http_code}\\\\n\" http://localhost:18734/icons/icon-512.png)",
"Bash(curl -s -o /dev/null -w \"maskable: %{http_code}\\\\n\" http://localhost:18734/icons/icon-maskable-512.png)",
"Bash(curl -s -o /dev/null -w \"apple: %{http_code}\\\\n\" http://localhost:18734/apple-icon.png)"
"Bash(curl -s -o /dev/null -w \"apple: %{http_code}\\\\n\" http://localhost:18734/apple-icon.png)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" https://teecup.teeoff.no/health)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" https://teecup.teeoff.no/dashboard)",
"Bash(curl -s https://teecup.teeoff.no/manifest.webmanifest)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" https://teecup.teeoff.no/sw.js)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" https://teecup.teeoff.no/icons/icon-512.png)"
],
"additionalDirectories": [
"/opt/teeoff/deploy",

View file

@ -1295,8 +1295,20 @@ gjennomført denne runden — ingen nettleserverktøy tilgjengelig i denne
økten. Anbefales sterkt at brukeren selv tester scorekort-siden med Chrome
DevTools sin Offline-bryter før tillit legges til flyten i skarp bruk.
**Status: ✅ BYGGET, IKKE ENNÅ RULLET UT.** Se CLAUDE.md-status for
byggerunden. Venter på brukerens utrullingsbekreftelse.
**Status: ✅ BYGGET OG LIVE 2026-07-19.** Bruker bekreftet eksplisitt, ingen
migrasjon, kun `teecup_frontend` (og en ren, uendret gjenoppbygging av
`teecup_api` som en bivirkning av `docker compose up --build` sin
avhengighets-oppløsning — ingen backend-kode rørt denne runden). Verifisert:
`/health`/`dashboard` → 200, `/manifest.webmanifest`/`sw.js`/ikoner alle
200 over ekte https, `teeoff.no` upåvirket. Se CLAUDE.md-status for full
byggerunde.
**Gjenstående, IKKE en del av "ferdig"-vurderingen over:** faktisk
nettleser-basert offline-test (Chrome DevTools Offline-modus, ekte "Legg
til på hjemskjerm") er fortsatt ikke gjort — ingen nettleserverktøy
tilgjengelig i byggeøkten. Brukeren har bedt om at dette noteres eksplisitt
for oppfølging, se FEATURE_BACKLOG.md sin PWA-tabell og CLAUDE.md sin
"Neste steg"-liste.
---

View file

@ -1739,13 +1739,21 @@ Ferdig og verifisert:
denne økten. Kun kodegjennomgang + build-verifisering. **Brukeren bør selv
teste scorekort-siden med DevTools Offline-modus før tillit i skarp
bruk.**
**Ikke rullet ut ennå** — venter på eksplisitt utrullingsbekreftelse.
Ingen migrasjon, kun `teecup_frontend` trenger redeploy.
**Rullet ut live 2026-07-19**, bruker bekreftet eksplisitt: `docker
compose up -d --build teecup_frontend`. Compose gjenskapte OGSÅ
`teecup_api` som en bivirkning (avhengighets-oppløsning i `up --build`)
— ingen backend-kode rørt, ren uendret gjenoppbygging, begge containere
boot-et rent (`Application startup complete` / Next.js `Ready`).
Verifisert: `/health`/`dashboard` → 200, `/manifest.webmanifest`/`sw.js`/
`icons/icon-512.png` alle 200 over ekte https, `teeoff.no` upåvirket.
Neste steg:
1. PWA er bygget, venter på utrullingsbekreftelse — se over. ANBEFAL
brukeren å browser-teste offline-flyten selv (DevTools Offline-modus)
uavhengig av om/når den rulles ut.
1. **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
bør selv åpne et scorekort, skru på Chrome DevTools sin Offline-bryter,
registrere et par slag, skru nettet på igjen, og bekrefte at de faktisk
synkes — først da er flyten reelt bevist.
2. Fire UI-/UX-hull notert 2026-07-19 (se over) — ingen fikset ennå.
Rewrite/medlemsside-bugen (#2) er den mest presserende siden siden er
helt utilgjengelig i dag.

View file

@ -886,7 +886,7 @@ prioriteres.
- ✅ PWA: manifest, service worker, «Legg til på hjemskjerm» — BYGGET
2026-07-19 (ADR-028).
### PWA — ✅ BYGGET 2026-07-19 (ADR-028), IKKE ENNÅ RULLET UT
### PWA — ✅ BYGGET OG LIVE 2026-07-19 (ADR-028)
Full design i ARCHITECTURE_DECISIONS.md ADR-028. Kort:
@ -897,10 +897,12 @@ Full design i ARCHITECTURE_DECISIONS.md ADR-028. Kort:
| 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. |
| Faktisk browser-testet (DevTools Offline-modus) | ❌ IKKE gjort | Kun verifisert med typesjekket build + container-boot/curl. Ingen nettleserverktøy tilgjengelig denne runden — **anbefales sterkt at brukeren selv tester offline-flyten i Chrome DevTools før tillit i skarp bruk.** |
| Faktisk browser-testet (DevTools Offline-modus) | ❌ **FORTSATT IKKE GJORT — OPPFØLGINGSPUNKT** | Kun verifisert med typesjekket build + container-boot/curl, aldri i en ekte nettleser. Ingen nettleserverktøy tilgjengelig i byggeøkten. **Brukeren bør selv åpne et scorekort, skru på Chrome DevTools sin Offline-bryter, registrere et par slag, skru nettet på igjen, og bekrefte at de faktisk synkes** — først da er offline-flyten reelt bevist, ikke bare kodegjennomgått. |
**Ikke rullet ut ennå** — venter på brukerens eksplisitte
utrullingsbekreftelse (ingen migrasjon, kun `teecup_frontend`).
**Rullet ut live 2026-07-19**, bruker bekreftet eksplisitt: `docker compose
up -d --build teecup_frontend` (ingen migrasjon). Verifisert:
`/health`/`dashboard` → 200, `/manifest.webmanifest`/`sw.js`/ikoner alle 200
over ekte https, `teeoff.no` upåvirket.
---