From d6f3af77192adfb2304769096eeec59d3464aa21 Mon Sep 17 00:00:00 2001 From: Saikrishna Ambeti Date: Sat, 10 Oct 2026 16:31:08 +0530 Subject: [PATCH] fix(web): omit underlines on markdown image links (#17728) --- apps/web/src/components/ChatMarkdown.tsx | 4 +++- apps/web/src/index.css | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/web/src/components/ChatMarkdown.tsx b/apps/web/src/components/ChatMarkdown.tsx index 4c712365475d1f9d00f4d2838862b5528572e381..c0225713ec4cbaefd68c6a0b2286098bcf8ce5d3 100644 --- a/apps/web/src/components/ChatMarkdown.tsx +++ b/apps/web/src/components/ChatMarkdown.tsx @@ -2943,6 +2943,7 @@ const CHAT_MARKDOWN_COMPONENTS = { : null; if (!fileLinkMeta) { const faviconHost = resolveExternalWebLinkHost(href); + const hasText = hastHasText(node); const pullRequestAutolink = String( (props as Record)["data-pull-request-autolink"] ?? "", ); @@ -2974,6 +2975,7 @@ const CHAT_MARKDOWN_COMPONENTS = { {...props} className={cn(props.className, pullRequestAutolink === "commit" && "font-mono")} data-markdown-copy={pullRequestCopy} + data-markdown-image-link={!hasText || undefined} href={href} target={isSameDocumentLink ? undefined : "_blank"} rel={isSameDocumentLink ? undefined : "noopener noreferrer"} @@ -3093,7 +3095,7 @@ const CHAT_MARKDOWN_COMPONENTS = { }); }} > - {faviconHost && hastHasText(node) && !isPullRequestAutolink ? ( + {faviconHost && hasText && !isPullRequestAutolink ? ( {linkChildren} diff --git a/apps/web/src/index.css b/apps/web/src/index.css index b59b8323f8a33d890e0e85a2d4fa0603270aadf6..dfdf09af249dd82a7d8c512a3f4c3f8f02b01fe6 100644 --- a/apps/web/src/index.css +++ b/apps/web/src/index.css @@ -1895,8 +1895,8 @@ code { color: var(--info-foreground); } -.chat-markdown a:not(.chat-markdown-file-link):hover, -.chat-markdown a:not(.chat-markdown-file-link):focus-visible { +.chat-markdown a:not(.chat-markdown-file-link, [data-markdown-image-link]):hover, +.chat-markdown a:not(.chat-markdown-file-link, [data-markdown-image-link]):focus-visible { background-image: radial-gradient(circle, currentcolor 0.75px, transparent 1px); background-position: left bottom; background-repeat: repeat-x; -- 2.54.0