synops/maskinrommet/src/templates
vegard e25b5a11ef Valider fase 13–14: fiks size-inkonsistens, sikkerhet og konsistens i traits + publisering
Feil funnet og fikset:

1. truncate() UTF-8-panikkfeil: Brukte byte-indeksering s[..max] som
   panikker på flerbyte-tegn (æ, ø, å). Byttet til char_indices().

2. VALID_TRAITS manglet 'mixer' og 'ai_tool': Dokumentert i
   docs/primitiver/traits.md men avvist av backend-validering.

3. Planlagte artikler synlige før publish_at: serve_article og alle
   listevisninger (forside, arkiv, kategori, søk) eksponerte artikler
   med fremtidig publish_at. Lagt til tidsfiltere i alle spørringer.

4. A/B klikk-attribusjon logget alle varianter: serve_article logget
   klikk for ALLE aktive varianter ved direkte artikkelbesøk, ikke
   bare den viste. Fjernet feilaktig attribusjon — klikk logges kun
   via track_click-endepunktet med spesifikk variant-parameter.

5. JSON-LD XSS via </script>: serde_json escaper ikke </script>-
   sekvenser, så brukertitler kunne bryte ut av <script>-blokken.
   Lagt til .replace("</", "<\\/") etter serialisering.

6. Hardkodet farge i search.html: Brukte rgba(233,69,96,0.1) i stedet
   for tema-variabel. Byttet til color-mix() med --color-accent.

Nye tester: truncate med UTF-8, truncate kort streng, JSON-LD XSS-escape.
2026-03-18 15:27:38 +00:00
..
avis Fullfører oppgave 14.16: Presentasjonselementer som noder 2026-03-18 02:55:23 +00:00
blogg Fullfører oppgave 14.16: Presentasjonselementer som noder 2026-03-18 02:55:23 +00:00
magasin Fullfører oppgave 14.16: Presentasjonselementer som noder 2026-03-18 02:55:23 +00:00
tidsskrift Fullfører oppgave 14.16: Presentasjonselementer som noder 2026-03-18 02:55:23 +00:00
about.html Dynamiske sider (oppgave 14.15): kategori, arkiv, søk, om-side 2026-03-18 02:39:06 +00:00
archive.html Dynamiske sider (oppgave 14.15): kategori, arkiv, søk, om-side 2026-03-18 02:39:06 +00:00
base.html Fullfører oppgave 14.15: nav-lenker, docs, tasks.md 2026-03-18 02:41:34 +00:00
category.html Dynamiske sider (oppgave 14.15): kategori, arkiv, søk, om-side 2026-03-18 02:39:06 +00:00
search.html Valider fase 13–14: fiks size-inkonsistens, sikkerhet og konsistens i traits + publisering 2026-03-18 15:27:38 +00:00