diff --git a/ARCHITECTURE_DECISIONS.md b/ARCHITECTURE_DECISIONS.md index 015cc8f..bb52697 100644 --- a/ARCHITECTURE_DECISIONS.md +++ b/ARCHITECTURE_DECISIONS.md @@ -5991,11 +5991,25 @@ varsel bekreftet skrevet til `notification`-tabellen), ugyldig tag avvise selve meldingen. Alle 31 backend-tester (23 fra før + 8 nye) grønne i samme kjøring. `teecup_db` bekreftet uendret. -**Bevisst utenfor omfang denne runden:** frontend (autocomplete-UI + -tag-rendering) sendt som eget V0-prompt, ikke bygget her — se -CHANGELOG.md. Org-turneringenes tilsvarende "Banter Board" -(`message`/`message_comment`) fikk IKKE samme funksjon — helt separat -system, ikke nevnt i den opprinnelige forespørselen. +**Frontend — oppdatering samme dag:** opprinnelig sendt som eget +V0-prompt (se over), men bruker gikk tom for V0-credits og ba Claude +implementere promptet selv i stedet. `lib/mentions.ts` (ren offset-/ +diff-logikk, 15 enhetstester) + `components/mention-input.tsx` +(`MentionTextarea`-autocomplete + `TaggedText`-rendring), koblet inn i +`round-messages.tsx` (innlegg), `post-engagement.tsx` (kommentarer — +delt av flere meldingssystemer, `roundId`/`tags` gjort valgfrie for å +ikke bryte de org-scopede callerne) og `feed.tsx` (aggregert +`/my-feed`-visning — der backendens `GET /feed` manglet `tags` ble +også lagt til her, oppdaget under dette arbeidet). Scratch-verifisert +i nettleser (autocomplete, tagging i innlegg og kommentar, rendring som +lenke både i rundevisning og i feed, varsel bekreftet, personvern- +scoping bekreftet i UI også, lys+mørk). `tsc --noEmit` rent, 45/45 +vitest grønt. Se CHANGELOG.md. + +Org-turneringenes tilsvarende "Banter Board" (`message`/ +`message_comment`) fikk IKKE samme funksjon — helt separat system, +ikke nevnt i den opprinnelige forespørselen, fortsatt bevisst utenfor +omfang. Disse må avklares før eller under de relevante fasene: diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ac190b..7363019 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10440,9 +10440,9 @@ Neste steg: andre `ChoiceRow`-bruken (alle har 3 valg fra før). Browserverifisert lys+mørk. Committet (`17e4793`), ikke deployet ennå. -72. **@-tagging av medspillere/venner i runde-feeden (backend) — - 2026-08-11, se ADR-063.** Bakt inn i FEATURE_BACKLOG.md som egen sak - under ADR-062, bruker ba om å sette den i gang. +72. **@-tagging av medspillere/venner i runde-feeden — 2026-08-11, se + ADR-063.** Bakt inn i FEATURE_BACKLOG.md som egen sak under + ADR-062, bruker ba om å sette den i gang. Migrasjon 064: `round_message_tag`/`round_message_comment_tag` (to parallelle tabeller, samme mønster som `round_message_reaction` vs. @@ -10461,11 +10461,42 @@ Neste steg: tag + varsel bekreftet, tre typer ugyldig-tag-forkastelse. Alle 31 backend-tester grønne. `teecup_db` uendret. - **Bevisst utenfor omfang:** frontend (autocomplete + tag-rendering) - sendt som eget V0-prompt, ikke bygget i denne runden. Org- - turneringenes "Banter Board" (`message`/`message_comment`) fikk IKKE - samme funksjon — separat system. + **Frontend — samme dag, egen-implementert.** Frontend var + opprinnelig sendt som eget V0-prompt, men bruker gikk tom for + V0-credits ("Kan du gi promptet til deg selv, og gjøre det beste + ut av det?") — eksplisitt, avgrenset unntak fra prosjektets + stående "frontend via V0"-konvensjon for akkurat denne funksjonen. + `frontend/lib/mentions.ts` (ren offset-/diff-logikk: @-deteksjon, + innsetting, diff-justering av eksisterende tags ved redigering, + tekst-segmentering — 15 enhetstester) + + `frontend/components/mention-input.tsx` (`MentionTextarea` med + debouncet autocomplete-dropdown + tastaturnavigasjon, `TaggedText` + som rendrer tagger som lenker til `/my-friends/{id}`). Koblet inn i + `round-messages.tsx` (innlegg), `post-engagement.tsx` (kommentarer + — delt komponent mellom FIRE meldingssystemer, `roundId`/`tags` + gjort valgfrie for å ikke bryte `feed.tsx`/`public-tournament.tsx`/ + `team-chat.tsx`, hvorav de to siste bevisst IKKE får tagging) og + `feed.tsx` (aggregert `/my-feed`-visning). Fant og rettet et hull + underveis: backendens `GET /feed` manglet `tags` i `FeedEntryOut` — + kun `list_round_messages`/kommentar-endepunktene hadde det fra + før, selv om `/my-feed` var nettopp det opprinnelige eksempelet + ("Fredrik i farta") som motiverte hele funksjonen. - **Ikke rullet ut ennå** — venter på V0-leveransen for frontend-delen - før migrasjon 064 kjøres mot ekte `teecup_db` (samme rekkefølge- - prinsipp som alltid: migrasjon før kode som er avhengig av den). + **Verifisert (frontend):** `tsc --noEmit` rent, 45/45 vitest + grønt. Full scratch-stack (DB, MinIO, API, frontend — ekte + produksjonsbuild). To ekte testbrukere (venn-relasjon + felles + runde) browserverifisert: autocomplete-dropdown i både innleggs- + og kommentar-komposereren, tag rendret som lenke i selve + rundevisningen OG i aggregert feed, varsel bekreftet opprettet + (`GET /notifications`), personvern-scoping bekreftet i selve UI-et + (skriver "@" alene → kun faktisk relasjon tilbys, aldri seg selv + eller en fremmed), lys+mørk modus. Ingen konsollfeil. Scratch- + miljøet ryddet fullstendig opp, `teecup_db` bekreftet uendret før + og etter. + + Org-turneringenes "Banter Board" (`message`/`message_comment`) + fikk IKKE samme funksjon — separat system, fortsatt bevisst + utenfor omfang. + + **Ikke rullet ut ennå** — migrasjon 064 er ikke kjørt mot ekte + `teecup_db`. Se deploy-plan under.