Publiek oEmbed-register erbij: YouTube verstopt zijn tags voor een server
Waarom het op mijn machine werkte en op de VPS niet: YouTube serveert een
datacenter-IP een uitgeklede pagina. Titel leeg, nul meta property-tags, geen
oEmbed-link. Hun oEmbed-API antwoordt daar wel gewoon (status 200, echte titel).
Discovery via de pagina faalt dus precies waar het het meest uitmaakt.
Het publieke providerregister van oembed.com dicht dat gat, en dat is iets anders
dan de whitelist die we net weggehaald hebben: die lijst onderhouden wij niet, we
lezen er een die gepubliceerd wordt. Valt oembed.com weg, dan vallen we terug op
paginadiscovery en werkt alles gewoon minder slim.
Het register komt VOOR de paginafetch: het is een match in het geheugen plus een
klein API-verzoek, en scheelt dus ook de download van een pagina van een MB.
Eenmaal opgehaald blijft de lijst een dag staan; een stale lijst is beter dan
geen lijst.
Changed files:
src/services/EmbedResolver.js
- matchProviderEndpoint (wildcard-schemes, host-fallback, {format} invullen)
- oembedRequestUrl; registry-stap voor de pagina; liveIO cachet de lijst 24u
src/services/ActivityPubService.js
- SELFHEAL_VERSION 19 -> 20
test/embed-resolver.test.js
- 4 tests: schemes en host-fallback, url-opbouw, register wint van de pagina
(en bespaart de download), en een onbereikbaar register valt netjes terug
remarks: 219 tests groen.
-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>