Repository navigation
Der Embed-Fallback nennt bekannte Anbieter beim Namen - #279
Merged
Merged
Conversation
…#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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.tsbekommt die TabelleEMBED_HOST_NAMESund die FunktionembedHostName(host), die einen vonembedHost()bereits ermittelten Host per Suffix gegen die Tabelle prüft. Angewendet wird sie inembedFallbackLink(), dort, wo der Text des Fallback-Knopfs entsteht, und nicht beim Schreiben vondata-embed-hostim 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; wederrendered-literals.test.tsnoch der Core-Lokalisierungs-Seam-Test verlangen einecoreMessage()-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 checklief einmal vollständig grün.Closes #273
🤖 Generated with Claude Code