.claude
Alt kompilerer rent. Oppsummering av denne runden:
2026-08-10 18:34:31 +02:00
.forgejo /workflows
Frontend-testinfrastruktur (Vitest) -- geo, offline-queue, formats
2026-08-10 23:44:30 +02:00
__pycache__
All five tasks from the original list are complete, plus one critical production bug found and fixed along the way. Summary:
2026-08-05 21:37:32 +02:00
app
Rangefinder-koordinater for offisielle (TeeOff-koblede) baner
2026-08-17 12:06:47 +02:00
frontend
Rangefinder-koordinater for offisielle (TeeOff-koblede) baner
2026-08-17 12:06:47 +02:00
scripts
Automatisert backend-testinfrastruktur: RLS, versjonssjekk, aldersgrense
2026-08-10 22:25:02 +02:00
tests
Rangefinder-koordinater for offisielle (TeeOff-koblede) baner
2026-08-17 12:06:47 +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
Selvhostet Forgejo Actions-runner for backend-testene
2026-08-10 22:41:48 +02:00
.mcp.json
Update Todos
2026-07-27 14:34:18 +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
014_tee_gender_to_rating.sql
Update Todos
2026-07-20 08:53:53 +02:00
015_user_profile.sql
Update Todos
2026-07-20 10:41:30 +02:00
016_profile_contact.sql
Live og dokumentert. /dashboard er nå den ene, felles adressen for enhver innlogget bruker — organisator, spiller, eller begge — med personlig profil (inkl. e-post og mobil) redigerbar på /account.
2026-07-20 11:32:10 +02:00
017_secondary_email.sql
Update Todos
2026-07-22 06:14:31 +02:00
018_handicap_history.sql
Update Todos
2026-07-22 06:31:11 +02:00
019_profile_country_bio.sql
Update Todos
2026-07-22 07:53:29 +02:00
020_personal_rounds.sql
Andre byggesteg ferdig: databaseskjemaet.
2026-07-22 10:46:10 +02:00
021_round_participant_rating_snapshot.sql
Migrasjonen er kjørt, og jeg har fortsatt helt til et komplett, verifisert API-lag.
2026-07-22 11:31:08 +02:00
022_round_stats_and_bag.sql
Oppsummering av det som er fikset/bygget i denne runden:
2026-07-24 06:27:35 +02:00
023_round_start_time.sql
Update Todos
2026-07-24 11:21:39 +02:00
024_round_name.sql
All three changes are implemented and scratch-verified (22/22 checks passed, test_isolation.sql still 12/12, frontend typechecks cleanly). Summary of what's ready to ship:
2026-07-25 06:29:09 +02:00
025_friends.sql
Backend for fase 1 (venner-kjernen) er bygget og scratch-verifisert (31/31 sjekker, test_isolation.sql fortsatt 12/12). Ny migrasjon 025_friends.sql, nytt app/routers/friends.py med tiered søk, forespørsel/aksept/fjern, og privat kategorisering — bekreftet at kategoriseringen faktisk er privat (B ser aldri hvilke grupper A har satt B i).
2026-07-25 08:14:48 +02:00
026_notifications.sql
Varsler (fra zip 20): in-app varslingssenter er live — bjelle med uleste-tall i dashbord-headeren, /my-notifications-side. Trigges i dag ved venneforespørsel sendt/akseptert; flere hendelser kan kobles på senere.
2026-07-26 06:53:58 +02:00
027_round_participant_user_unique.sql
Update Todos
2026-07-26 08:22:41 +02:00
028_round_participant_tee.sql
Alt er live. Kort oppsummert:
2026-07-26 09:18:52 +02:00
029_round_participant_guest_email.sql
Leaderboard — ikke bygget frontend ennå, kun backend. V0-prompten er skrevet og ligger i FEATURE_BACKLOG.md, klar til å limes inn i v0.app.
2026-07-26 09:42:06 +02:00
030_actual_handicap_index.sql
Alt er ferdig, verifisert og live. Oppsummert:
2026-07-28 11:04:51 +02:00
031_round_play_formats.sql
Ferdig og live. Kort oppsummert:
2026-07-28 13:00:50 +02:00
032_round_visibility.sql
Bygget: ADR-036 fase 2 — rundevisibilitet, helt etter det allerede designede mønsteret (privat/offentlig/venner-i-valgt-kategori):
2026-07-28 19:25:37 +02:00
033_notification_email_prefs.sql
Update Todos
2026-07-28 20:09:21 +02:00
034_session_scorecard_invitations.sql
Update Todos
2026-07-28 20:56:08 +02:00
035_round_flight_group.sql
Update Todos
2026-07-28 22:34:16 +02:00
036_round_hole_selected_participant.sql
Update Todos
2026-07-28 22:34:16 +02:00
037_push_subscriptions.sql
Update Todos
2026-07-28 22:34:16 +02:00
038_stableford_and_pickup.sql
Stableford is now a real spilleform for frittstående runder, alongside Slagspill/Match: selectable at round creation, editable afterward, shown as a badge everywhere the round appears.
2026-07-29 19:46:17 +02:00
039_hole_score_selected_participant.sql
"Utslag brukt"-statistikk for scramble/greensome finnes nå også for org-scopede turneringer — samme funksjon som frittstående runder fikk 2026-07-25, bygget som en rask, avgrenset oppfølger.
2026-07-29 22:20:50 +02:00
040_individual_tournaments.sql
Migrasjonsutkastet er klart og scratch-verifisert. Skrevet til /opt/teecup/040_individual_tournaments.sql — ikke kjørt mot ekte teecup_db, kun mot en isolert scratch-database jeg satte opp og ryddet opp etterpå.
2026-07-30 06:52:33 +02:00
041_chapman_format.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
042_copenhagen_round_and_tournament.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
043_bbb_round_format.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
044_bbb_individual_tournament.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
045_flag_round_format.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
046_flag_individual_tournament.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
047_shamble_round_and_session.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
048_money_ball_round.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
049_money_ball_session.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
050_high_low_high_round_and_session.sql
All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan:
2026-07-30 14:54:11 +02:00
051_round_allowance_override.sql
Ja, jeg forsto rekkefølgen — steg 1 og 2 er nå ferdig og scratch-verifisert:
2026-08-02 08:24:01 +02:00
052_guest_name_split.sql
Update Todos
2026-08-03 06:24:57 +02:00
053_tournament_classes.sql
Alt er bygget og grundig scratch-verifisert — både API-nivå og ekte nettleser-klikk, på begge turneringstyper. Før jeg ruller ut mot ekte teecup_db, her er planen:
2026-08-04 03:44:16 +02:00
054_personal_course_provenance.sql
Fiks turneringsoppsett-rekkefølge, koble til TeeOff-import, og bygg delt bane-mal-bibliotek
2026-08-04 11:34:28 +02:00
055_order_of_merit.sql
Bygg Order of Merit: sesong-sammenlagt spillerrangering på tvers av turneringer
2026-08-04 14:19:30 +02:00
056_scramble_solo_round.sql
All five tasks from the original list are complete, plus one critical production bug found and fixed along the way. Summary:
2026-08-05 21:37:32 +02:00
057_scramble_solo_match_round.sql
All five tasks from the original list are complete, plus one critical production bug found and fixed along the way. Summary:
2026-08-05 21:37:32 +02:00
058_round_messages.sql
e reelle bugger (500 på /feeds paginering, en rute-/rewrite-kollisjon på /feed, og manglende WS-refetch-kobling for kommentarer) — se ADR-044/CHANGELOG for detaljer. Før jeg ruller dette ut mot ekte teecup_db, her er planen:
2026-08-06 07:01:22 +02:00
059_post_reactions_and_comments.sql
Før redesign
2026-08-07 22:02:56 +02:00
060_round_shot.sql
Før redesign
2026-08-07 22:02:56 +02:00
061_round_shot_end_method.sql
Kort på hull-kortet: "end"-steget (ballens posisjon) tilbyr nå samme valg som utslags-steget: GPS ("Jeg er ved ballen nå") eller kart ("Vis kart mens jeg går").
2026-08-08 21:38:10 +02:00
062_round_hole_version.sql
Alt kompilerer rent. Oppsummering av denne runden:
2026-08-10 18:34:31 +02:00
063_hole_score_version.sql
Optimistisk versjonssjekk for org-turneringers match-scoring
2026-08-10 23:19:29 +02:00
064_message_tags.sql
@-tagging (backend): medspillere/venner i runde-feeden
2026-08-11 09:10:17 +02:00
065_golfapi_courses.sql
Avstand til mål via GolfAPI.io (Tjøme) + statistikk-graf-finpuss
2026-08-12 21:39:13 +02:00
066_round_participant_completion.sql
Per-deltaker-fullføring av runder + scorekort på e-post; Larvik/Nesbyen via GolfAPI
2026-08-13 21:24:25 +02:00
067_golfapi_coordinate_more_poi_types.sql
Per-deltaker-fullføring av runder + scorekort på e-post; Larvik/Nesbyen via GolfAPI
2026-08-13 21:24:25 +02:00
068_golfapi_tee_men_rating_nullable.sql
Per-deltaker-fullføring av runder + scorekort på e-post; Larvik/Nesbyen via GolfAPI
2026-08-13 21:24:25 +02:00
069_flag_plant.sql
Flaggturnering: GPS-flaggplanting (Del A) + kartoversikt (Del B)
2026-08-14 10:38:54 +02:00
070_flag_plant_individual_tournament.sql
Flaggturnering: GPS-flaggplanting (Del A) + kartoversikt (Del B)
2026-08-14 10:38:54 +02:00
071_flag_map_visibility.sql
Flaggturnering: GPS-flaggplanting (Del A) + kartoversikt (Del B)
2026-08-14 10:38:54 +02:00
072_eclectic_individual_tournament.sql
Eclectic-format for org-individuelle turneringer (Del C) + tre UI-rettelser
2026-08-14 11:12:25 +02:00
073_round_message_client_id.sql
Offline kommentar-/bildeposting i rundefeeden (ADR-069)
2026-08-14 11:51:30 +02:00
074_player_extended_fields.sql
Utvidet spillerskjema i "Deltakere" -- bla i eksisterende + nye felt (ADR-070)
2026-08-14 15:08:45 +02:00
075_tournament_hole_stats_parity.sql
Full statistikkdybde i org-turneringers hull-scoring (ADR-071)
2026-08-15 06:32:17 +02:00
076_public_order_of_merit.sql
Order of Merit: offentlig/delt visning (ADR-076)
2026-08-15 21:20:23 +02:00
077_account_merge.sql
Kontosammenslåing, selvbetjent (ADR-080, "Del 2" av flere e-postadresser)
2026-08-17 07:56:41 +02:00
078_golfapi_coordinate_landmark_poi_type.sql
Tjømes GolfAPI-koordinater erstattet med feltbefarte data (migrasjon 078)
2026-08-17 08:26:01 +02:00
079_teeoff_course_coordinates.sql
Rangefinder-koordinater for offisielle (TeeOff-koblede) baner
2026-08-17 12:06:47 +02:00
ARCHITECTURE_DECISIONS.md
ADR-081/CHANGELOG: rangefinder for offisielle baner rullet ut
2026-08-17 12:13:57 +02:00
CHANGELOG.md
ADR-081/CHANGELOG: rangefinder for offisielle baner rullet ut
2026-08-17 12:13:57 +02:00
CLAUDE.md
Før redesign
2026-08-07 22:02:56 +02:00
DESIGN_SYSTEM.md
Ny-runde-veiviseren er live med clubhouse-designet, bekreftet uten konsollfeil på teecup.golf.
2026-08-10 09:07:33 +02:00
docker-compose.yml
Avstand til mål via GolfAPI.io (Tjøme) + statistikk-graf-finpuss
2026-08-12 21:39:13 +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
Dockerfile.test
Automatisert backend-testinfrastruktur: RLS, versjonssjekk, aldersgrense
2026-08-10 22:25:02 +02:00
FEATURE_BACKLOG.md
FEATURE_BACKLOG: NGF-spilleform-gap, koordinat-editor og CSV-import notert
2026-08-17 13:03:14 +02:00
handicap_engine.py
Eclectic-format for org-individuelle turneringer (Del C) + tre UI-rettelser
2026-08-14 11:12:25 +02:00
pytest.ini
Automatisert backend-testinfrastruktur: RLS, versjonssjekk, aldersgrense
2026-08-10 22:25:02 +02:00
TeeCup logo.svg
e reelle bugger (500 på /feeds paginering, en rute-/rewrite-kollisjon på /feed, og manglende WS-refetch-kobling for kommentarer) — se ADR-044/CHANGELOG for detaljer. Før jeg ruller dette ut mot ekte teecup_db, her er planen:
2026-08-06 07:01:22 +02:00
teecup-beskrivelse.md
13-årsgrense — håndhevet server-side (eneste vei inn i appen, ADR-051) og med umiddelbar rød feilmelding klientside i begge profil-skjemaer. Testet på nøyaktig dagsgrensen.
2026-08-10 07:00:11 +02:00
teecup-scorekort-og-entry-spec.md
Ja, den gir mye mening — og jeg sjekket to av påstandene direkte mot koden i stedet for å ta dem på tro:
2026-07-27 09:03:15 +02:00
TeeOff-logo-Retina-1.avif
Før kommunikasjon med V0
2026-07-17 21:40:42 +02:00
test_handicap_engine.py
Eclectic-format for org-individuelle turneringer (Del C) + tre UI-rettelser
2026-08-14 11:12:25 +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