Changeset f50a84b in Klonkt for src/assets/js/mod/admin-seo.js


Ignore:
Timestamp:
08/13/2026 01:09:55 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
c3e736c
Parents:
013e16c
Message:

Jouw teksten, en de twee dingen die ze beloofden (shaer-mbz)

De titel is nu "MusicBrainz Koppeling" met jouw omschrijving eronder, in drie
talen. Maar die omschrijving belooft twee dingen die de code nog niet deed, en
een label dat liegt is erger dan een lelijk label. Dus allebei gebouwd.

"OF JE MUSICBRAINZ ID ALS JE DIE KENT". Plak je een UUID, dan wordt hij
rechtstreeks opgezocht in plaats van gezocht. Dat is geen luxe: een
zoekopdracht OP een UUID levert bij MusicBrainz niets op, dus zonder deze tak
gaf plakken juist het slechtste resultaat.

"MET TERUG-WEG VALIDATIE". Een koppeling van onze kant is een bewering --
iedereen kan een id in een veld typen. Pas als de MusicBrainz-pagina TERUGWIJST
naar dit domein is het een paar, en dan weet een lezer dat dezelfde persoon aan
allebei de kanten stond. Dezelfde gedachte als rel="me". Het paneel zegt
"wederzijds" of "nog eenzijdig", en bij dat laatste staat erbij WAT je moet doen:
het domein op je MusicBrainz-pagina zetten onder "social networking".

Wij zetten die terugwijzing niet zelf. Kan niet via hun API, en hoort ook niet.

ECHT GEMETEN, en dat gaf de test zijn vorm: robo-burr staat in MusicBrainz met
score 100 (24abe2be-c0bc-4c63-9642-d6f89ec6a00a, "AKA roboburr") en heeft
precies EEN url-relatie -- type "social network", naar sound-fabrics.com. Voor
dev.klonkt.com is de terug-weg dus false, en dat is precies de waarde van de
controle. Die vorm staat nu in een test.

Bij een storing komt er false EN een lege lijst uit: niet kunnen kijken is niet
hetzelfde als niet gevonden, en nooit stilletjes "wederzijds".

Een controle erbij die eist dat alle drie de talen dezelfde mb_-sleutels
hebben. Bij het herschrijven waren er zeven weggevallen die het scherm nog
gebruikt -- een gat in een vertaling geeft een leeg label en dat valt nooit
vanzelf op.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/assets/js/mod/admin-seo.js

    r013e16c rf50a84b  
    6464    uit.hidden = true;
    6565    uit.replaceChildren();
     66    checkTerugweg(mbid);
    6667  }
    6768
    6869  const wis = document.getElementById('mb-wis');
    6970  if (wis) wis.addEventListener('click', () => zet('', ''));
     71
     72  // DE TERUG-WEG. Wij zetten hem niet -- dat kan niet via hun API en hoort ook
     73  // niet -- we kijken alleen of de artiestenpagina ons domein noemt. Zolang dat
     74  // niet zo is staat er "nog eenzijdig", want een halve koppeling die als
     75  // bevestigd leest is het soort stilte waar we vandaag al genoeg van zagen.
     76  const terugweg = document.getElementById('mb-terugweg');
     77  async function checkTerugweg(mbid) {
     78    if (!terugweg) return;
     79    if (!mbid) { terugweg.hidden = true; terugweg.textContent = ''; return; }
     80    terugweg.hidden = false;
     81    terugweg.className = 'mb-terugweg';
     82    terugweg.textContent = T.aseo_mb_checking || 'Terug-weg controleren…';
     83    try {
     84      const r = await fetch(`/admin/seo/api/musicbrainz/terugweg?mbid=${encodeURIComponent(mbid)}`, { credentials: 'same-origin' });
     85      const j = await r.json();
     86      terugweg.className = 'mb-terugweg ' + (j.verified ? 'is-ok' : 'is-eenzijdig');
     87      terugweg.textContent = j.verified
     88        ? (T.aseo_mb_verified || 'Wederzijds.')
     89        : (T.aseo_mb_unverified || 'Nog eenzijdig.');
     90    } catch {
     91      terugweg.hidden = true;
     92    }
     93  }
     94  // Meteen bij het openen, want de artiest kan hem intussen op MusicBrainz
     95  // hebben gezet en hoort dat hier te zien zonder opnieuw te koppelen.
     96  if (idVeld.value) checkTerugweg(idVeld.value);
    7097
    7198  async function zoek() {
Note: See TracChangeset for help on using the changeset viewer.