From 7d911f67d506d376e975baf7e0c3f5cfe4766986 Mon Sep 17 00:00:00 2001 From: Erol Haagenrud Date: Sun, 19 Jul 2026 23:54:19 +0200 Subject: [PATCH] Update Todos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- .claude/settings.local.json | 7 ++++++- ARCHITECTURE_DECISIONS.md | 16 ++++++++++++++-- CLAUDE.md | 18 +++++++++++++----- FEATURE_BACKLOG.md | 10 ++++++---- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 16cb80d..a6bfc29 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -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", diff --git a/ARCHITECTURE_DECISIONS.md b/ARCHITECTURE_DECISIONS.md index 9df83f1..ccbc3e3 100644 --- a/ARCHITECTURE_DECISIONS.md +++ b/ARCHITECTURE_DECISIONS.md @@ -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. --- diff --git a/CLAUDE.md b/CLAUDE.md index 4bf32f7..51b41cc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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. diff --git a/FEATURE_BACKLOG.md b/FEATURE_BACKLOG.md index 98fc49b..c1be855 100644 --- a/FEATURE_BACKLOG.md +++ b/FEATURE_BACKLOG.md @@ -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. ---