Skip to content

Der Embed-Fallback nennt bekannte Anbieter beim Namen - #279

Merged
JumpLink merged 1 commit into
mainfrom
a-known-host-becomes-its-name
Sep 24, 2026
Merged

JumpLink merged 1 commit into
mainfrom
a-known-host-becomes-its-name

Conversation

@JumpLink

Copy link
Copy Markdown
Collaborator

Worum es geht

Ist ein YouTube-Video oder ein anderer bekannter Dienst in einen Artikel eingebettet, zeigte die App bisher einen Knopf mit der technischen Adresse, zum Beispiel „Inhalt von youtube-nocookie.com im Browser öffnen“. Das ist die Adresse, die kaum jemand kennt. Jetzt steht dort „YouTube“.

Was sich ändert

Eine kurze Tabelle bekannter Anbieter übersetzt die Adresse in den vertrauten Namen: YouTube (alle drei seiner Adressen), Instagram, LinkedIn, X, Facebook, TikTok, Vimeo, Spotify und SoundCloud. Eine Unteradresse wie „m.youtube.com“ oder „open.spotify.com“ wird ebenfalls erkannt. Ein Anbieter, der nicht auf der Liste steht, zeigt weiterhin seine Adresse, so wie bisher.

Der Knopf, in Deutsch, hell und dunkel:

Technische Details

packages/app-core/src/articles/embeds.ts bekommt die Tabelle EMBED_HOST_NAMES und die Funktion embedHostName(host), die einen von embedHost() bereits ermittelten Host per Suffix gegen die Tabelle prüft. Angewendet wird sie in embedFallbackLink(), dort, wo der Text des Fallback-Knopfs entsteht, und nicht beim Schreiben von data-embed-host im zwischengespeicherten Artikeltext. Ein bereits zwischengespeicherter Artikel profitiert dadurch sofort von einer neuen Tabelle, ohne dass er neu geladen werden müsste. Markennamen brauchen keine Übersetzung; weder rendered-literals.test.ts noch der Core-Lokalisierungs-Seam-Test verlangen eine coreMessage()-ID dafür, da beide nur nach deutschen Zeichen beziehungsweise nach der App-eigenen React-Baumstruktur suchen.

Tests in packages/app-core/test/embeds.test.ts: die Tabelle selbst (jeder gelistete Anbieter über eine echte Adresse, inklusive Unteradressen), ein unbekannter Host, der seine Adresse behält, sowie die bestehenden YouTube-, Instagram- und LinkedIn-Fixtures, angepasst an den neuen Markennamen.

npm run check lief einmal vollständig grün.

Closes #273

🤖 Generated with Claude Code

…#273)

embeds.ts carries a short table, EMBED_HOST_NAMES, from a host embedHost()
already gives (YouTube's three hosts, Instagram, LinkedIn, X/Twitter, Facebook,
TikTok, Vimeo, Spotify, SoundCloud) to the name a person would recognise.
embedHostName() matches a subdomain by suffix, so www., m. or open. reach the
same brand without a second table entry, and applies at embedFallbackLink,
where the fallback button's text is built, so an already-cached article body
picks up the table too. A host not on the table keeps its address.

Tests in embeds.test.ts cover the table, the subdomain match and the unknown
host that keeps its address; the existing YouTube/Instagram/LinkedIn fixtures
are updated to the brand name they now show.

Closes #273
@JumpLink
JumpLink merged commit f9deeb8 into main Sep 24, 2026
4 checks passed
@JumpLink
JumpLink deleted the a-known-host-becomes-its-name branch September 24, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bei eingebetteten YouTube-Videos steht eine technische Adresse statt „YouTube“

1 participant