No description
Find a file
Erol Haagenrud 7d911f67d5 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).
2026-07-19 23:54:19 +02:00
.claude Update Todos 2026-07-19 23:54:19 +02:00
__pycache__ Scoring-runden er ferdig og verifisert for ekte (samme scratch-container-mønster, denne gangen med hele /opt/teecup montert siden handicap_engine.py er et toppnivå-søskenmodul til app-pakken). Alle 10 planlagte tester besto, inkludert fourball better-ball-aggregering, poeng-caching ved tidlig avgjørelse, den sammenhengende-prefiks-regelen, og ADR-014-bryteren. Fant og fikset underveis at SessionCreate manglet scoring_mode helt — hole_result-modus kunne aldri vært brukt via API-et uten den fiksen. 2026-07-16 14:38:42 +02:00
app Alt scratch-verifisert (5 automatiserte sjekker inkl. faktisk sanntidsmottak over WebSocket for både score-innsending og walkover), typesjekket build OK. Ingen migrasjon, ingen ny Caddy-rute (gjenbruker /ws/* fra sist). 2026-07-19 23:14:17 +02:00
frontend PWA er bygget og scratch/build-verifisert. Status: 2026-07-19 23:51:08 +02:00
.dockerignore TeeCup er nå containerisert og live på https://teecup.teeoff.no. Dette var den mest hendelsesrike runden denne økten — første gang noe rørte ekte, permanent infrastruktur, og det viste seg berettiget: 2026-07-16 21:47:34 +02:00
.gitignore Add .gitignore to keep .env (DB secrets) out of version control 2026-07-16 07:39:08 +02:00
001_initial_schema.sql Første commit for teecup 2026-07-16 07:18:01 +02:00
002_roles_and_grants.sql Fix migration 002: psql does not interpolate :'var' inside DO $$ blocks 2026-07-16 08:24:48 +02:00
003_scoring_and_blinddraw.sql Utgangspunktet 2026-07-16 07:26:04 +02:00
004_auth.sql Ekte autentisering er bygget og verifisert. X-Debug-User-Id-stubben er helt fjernet, ingen fallback beholdt. 2026-07-16 15:16:53 +02:00
005_rls_null_guard.sql RLS-tomstreng-buggen er fikset og verifisert grundig. 2026-07-16 15:34:24 +02:00
006_scheduling_and_locale.sql Før kommunikasjon med V0 2026-07-17 21:40:42 +02:00
007_registration_and_player_fields.sql ADR-017 er skrevet inn, og migrasjonen er ferdig og verifisert: 2026-07-18 08:24:55 +02:00
008_link_player_by_email.sql Migrasjon 008 er live på ekte teecup_db, backend er redeployet, alt verifisert (teeoff.no upåvirket gjennom hele prosessen). 2026-07-18 09:03:37 +02:00
009_landing_pages_and_visibility.sql ADR-018 sin backend er ferdig, verifisert og live. Oppsummert: 2026-07-18 09:45:11 +02:00
010_official_course_unique_ref.sql Bygget, og verifisert grundig mot ekte infrastruktur — inkludert et ekte kall mot teeoff_api (søkte opp «Borregaard», importerte Borregaard Golfklubb sin 18-hulls hovedbane med alle hull, 4 tee-farger × kjønn, ratinger, og opprettet faktisk en økt med den importerte banen). Duplikat-import ble korrekt avvist (409), kryss-org-isolasjon holder, test_isolation.sql 12/12. 2026-07-18 12:44:05 +02:00
011_join_code_and_leading_side.sql ackend for the join-code, leading_side, and projected-standings work is fully verified against a fresh scratch database (migrations 001–011, test_isolation.sql 12/12, and live end-to-end checks: join-code generation/uniqueness, code resolution, visibility bypass on both the tournament view and registration — including case-insensitivity and rejection of a wrong code — plus a full hole-by-hole match simulation confirming leading_side/status_text stay in sync through "1 UP" → "AS" → a decided "9&7", with the leaderboard's projected points matching at each stage: 1.0/0.0 while A led, 0.5/0.5 at all-square, and settling to equal actual/projected once decided). 2026-07-19 09:23:35 +02:00
012_password_2fa_and_org_invitations.sql Update Todos 2026-07-19 10:36:50 +02:00
013_messaging.sql Backend, frontend og Caddy-endringen er alle klare og verifisert (Caddy-syntaksen validert OK). Dette er en stor runde — her er full plan for utrulling: 2026-07-19 22:26:45 +02:00
ARCHITECTURE_DECISIONS.md Update Todos 2026-07-19 23:54:19 +02:00
CLAUDE.md Update Todos 2026-07-19 23:54:19 +02:00
docker-compose.yml MinIO-runden er ferdig, verifisert og live — ADR-018 er nå helt komplett, ingenting utsatt igjen bortsett fra selve opplastings-skjermen i frontend. 2026-07-18 11:25:52 +02:00
Dockerfile TeeCup er nå containerisert og live på https://teecup.teeoff.no. Dette var den mest hendelsesrike runden denne økten — første gang noe rørte ekte, permanent infrastruktur, og det viste seg berettiget: 2026-07-16 21:47:34 +02:00
FEATURE_BACKLOG.md Update Todos 2026-07-19 23:54:19 +02:00
handicap_engine.py Første commit for teecup 2026-07-16 07:18:01 +02:00
TeeOff-logo-Retina-1.avif Før kommunikasjon med V0 2026-07-17 21:40:42 +02:00
test_handicap_engine.py Første commit for teecup 2026-07-16 07:18:01 +02:00
test_isolation.sql ackend for the join-code, leading_side, and projected-standings work is fully verified against a fresh scratch database (migrations 001–011, test_isolation.sql 12/12, and live end-to-end checks: join-code generation/uniqueness, code resolution, visibility bypass on both the tournament view and registration — including case-insensitivity and rejection of a wrong code — plus a full hole-by-hole match simulation confirming leading_side/status_text stay in sync through "1 UP" → "AS" → a decided "9&7", with the leaderboard's projected points matching at each stage: 1.0/0.0 while A led, 0.5/0.5 at all-square, and settling to equal actual/projected once decided). 2026-07-19 09:23:35 +02:00