{renderSkillInlineMarkdownChildren(children, skills)}
; }, @@ -1537,7 +1556,10 @@ function ChatMarkdown({ event.currentTarget.closest("li")?.dataset.taskMarkerOffset, ); if (!Number.isSafeInteger(markerOffset)) return; - onTaskListChange({ markerOffset, checked: event.currentTarget.checked }); + onTaskListChange({ + markerOffset, + checked: event.currentTarget.checked, + }); }} /> ); @@ -1683,6 +1705,7 @@ function ChatMarkdown({ diffThemeName, fileLinkParentSuffixByPath, inlineCodeFileLinkMetaByText, + imageComponent, isStreaming, markdownFileLinkMetaByHref, onTaskListChange, diff --git a/apps/web/src/components/pullRequest/PullRequestMarkdown.tsx b/apps/web/src/components/pullRequest/PullRequestMarkdown.tsx index 46aa44dc1289..0d055bc79582 100644 --- a/apps/web/src/components/pullRequest/PullRequestMarkdown.tsx +++ b/apps/web/src/components/pullRequest/PullRequestMarkdown.tsx @@ -1,10 +1,28 @@ import { ExternalLinkIcon, PaperclipIcon, PlayIcon } from "lucide-react"; +import type { EnvironmentId } from "@t3tools/contracts"; +import { useMemo, type ComponentProps } from "react"; +import { useAssetUrl } from "~/assets/assetUrls"; import { cn } from "~/lib/utils"; import ChatMarkdown from "../ChatMarkdown"; import { splitPullRequestBody } from "./pullRequestMarkdown.logic"; +const GITHUB_USER_ATTACHMENT_PREFIX = "https://github.com/user-attachments/assets/"; + +function PullRequestImage({ + environmentId, + src, + ...props +}: ComponentProps<"img"> & { environmentId: EnvironmentId }) { + const resource = useMemo( + () => ({ _tag: "github-user-attachment" as const, url: src ?? "" }), + [src], + ); + const authenticatedSrc = useAssetUrl(environmentId, resource); + returnNothing to preview.
) : ( -