|
.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
|
Statistikk: ekspandert trekkspill, spilt-til-HCP, omstrukturert /my-rounds/stats
|
2026-08-12 09:12:49 +02:00 |
|
frontend
|
Statistikk: ekspandert trekkspill, spilt-til-HCP, omstrukturert /my-rounds/stats
|
2026-08-12 09:12:49 +02:00 |
|
scripts
|
Automatisert backend-testinfrastruktur: RLS, versjonssjekk, aldersgrense
|
2026-08-10 22:25:02 +02:00 |
|
tests
|
@-tagging (backend): medspillere/venner i runde-feeden
|
2026-08-11 09:10:17 +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 |
|
ARCHITECTURE_DECISIONS.md
|
Dokumenter ScrollFade-fiksen i ADR-062/CHANGELOG.md
|
2026-08-11 14:42:29 +02:00 |
|
CHANGELOG.md
|
Dokumenter statistikk-omstruktureringen i CHANGELOG.md
|
2026-08-12 09:13:44 +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
|
Selvhostet Forgejo Actions-runner for backend-testene
|
2026-08-10 22:41:48 +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
|
@-tagging (backend): medspillere/venner i runde-feeden
|
2026-08-11 09:10:17 +02:00 |
|
handicap_engine.py
|
Alt kompilerer rent. Oppsummering av denne runden:
|
2026-08-10 18:34:31 +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
|
Alt kompilerer rent. Oppsummering av denne runden:
|
2026-08-10 18:34:31 +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 |