Changeset bb9e54c in Klonkt for src


Ignore:
Timestamp:
08/21/2026 08:13:28 AM (3 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
e311202
Parents:
0f09302
Message:

SEO-paneel kon niets opslaan: twee regels stonden in de SQL-string

In f50a84b belandden de twee const-regels van de MusicBrainz-koppeling BINNEN
de template-literal van de UPDATE. Daarmee waren ze geen code maar tekst in de
SQL, en faalde elke opslag op /admin/seo met near "/": syntax error.

Niet alleen de koppeling: het hele paneel. Titelsjabloon, canonical,
omschrijving, og:image, alle verificatiecodes, publisher -- alles ging door
dezelfde UPDATE.

Waarom niemand het zag. Het is geldig JavaScript, dus node --check, de lader en
de suite bleven groen; de fout leeft pas bij prepare(). En het zoekscherm loopt
langs een aparte GET, dus 'Ben jij dit?' toonde de artiest netjes -- alleen
bewaren deed niets. Het actor-document liet daarom terecht geen schema:sameAs
zien: er stond niets in de kolom. Gemeten op soundfabrics: mb_artist_id is
null, op alle instanties.

Vier routetests erbij, door de echte route heen, plus de tweede helft: dat de
koppeling ook echt als schema:sameAs op de actor komt. Controleproef gedraaid --
met de oude opstelling vallen alle vier om terwijl node --check groen blijft.

Co-Authored-By: Claude Opus 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/admin-seo.js

    r0f09302 rbb9e54c  
    9595  const schemaType = f.schema_type === 'Organization' ? 'Organization' : 'Person';
    9696
     97  // De MusicBrainz-koppeling (shaer-mbz). Alleen een echte MBID komt de kolom
     98  // in: zonder deze zeef sluipt er een URL of een handle in het veld dat naar
     99  // buiten gaat, en het gaat naar TWEE uitgangen -- de JSON-LD en de actor.
     100  // Leeg is een geldige keuze; dat is ontkoppelen.
     101  //
     102  // Deze twee regels stonden BINNEN de template-literal hieronder, dus ze waren
     103  // geen code maar tekst in de SQL. Daardoor faalde elke opslag op dit paneel
     104  // met `near "/": syntax error` -- niet alleen de koppeling, ook het
     105  // titelsjabloon, de omschrijving en alle verificatiecodes.
     106  const mbRuw = String(f.mb_artist_id || '').trim().toLowerCase();
     107  const mbArtistId = isMbid(mbRuw) ? mbRuw : null;
     108
    97109  db.prepare(`
    98110    UPDATE sites SET
     
    118130      updated_at = CURRENT_TIMESTAMP
    119131    WHERE id = ?
    120   // De MusicBrainz-koppeling (shaer-mbz). Alleen een echte MBID komt de kolom
    121   // in: zonder deze zeef sluipt er een URL of een handle in het veld dat naar
    122   // buiten gaat, en het gaat naar TWEE uitgangen -- de JSON-LD en de actor.
    123   // Leeg is een geldige keuze; dat is ontkoppelen.
    124   const mbRuw = String(f.mb_artist_id || '').trim().toLowerCase();
    125   const mbArtistId = isMbid(mbRuw) ? mbRuw : null;
    126 
    127132  `).run(
    128133    f.robots_index ? 1 : 0,
Note: See TracChangeset for help on using the changeset viewer.