diff --git a/src/components/Markdown.svelte b/src/components/Markdown.svelte index 3e1920339..75fd61345 100644 --- a/src/components/Markdown.svelte +++ b/src/components/Markdown.svelte @@ -111,7 +111,11 @@ console.warn("Not able to parse url", e); } // Don't underline tags that contain images. - if (e.firstElementChild instanceof HTMLImageElement) { + // Make an exception for emojis. + if ( + e.firstElementChild instanceof HTMLImageElement && + !e.firstElementChild.classList.contains("txt-emoji") + ) { e.classList.add("no-underline"); } } diff --git a/tests/fixtures/repos/markdown.tar.bz2 b/tests/fixtures/repos/markdown.tar.bz2 index 99eb2ec01..b04bd3739 100644 Binary files a/tests/fixtures/repos/markdown.tar.bz2 and b/tests/fixtures/repos/markdown.tar.bz2 differ diff --git a/tests/visual/desktop/markdown.spec.ts b/tests/visual/desktop/markdown.spec.ts index 2eb6e6064..db4dea3a1 100644 --- a/tests/visual/desktop/markdown.spec.ts +++ b/tests/visual/desktop/markdown.spec.ts @@ -160,6 +160,11 @@ test("relative image not able to being loaded", async ({ page }) => { await expect(page).toHaveScreenshot({ fullPage: true }); }); +test("underline links that contain emojis", async ({ page }) => { + await page.goto(`${markdownUrl}/tree/main/link-files.md`); + await expect(page).toHaveScreenshot({ fullPage: true }); +}); + test("markdown in issues is not overflowing", async ({ page }) => { await page.goto(`${markdownUrl}/issues`, { waitUntil: "networkidle",