🎯 refactor: LaTeX and Math Rendering (#7952)

* refactor: Markdown LaTeX processing

- Added micromark-extension-llm-math as a dependency in package.json and package-lock.json.
- Updated Vite configuration to alias micromark-extension-math.
- Modified Markdown components to use singleDollarTextMath: false for improved LaTeX rendering.
- Refactored latex utility functions to enhance LaTeX processing and escaping mechanisms.

* chore: linting of `EditTextPart`

* fix: handle key up to initiate edit of latest user message by adding id prop to Edit Message HoverButton

* chore: linting in Artifact component

* refactor: enhance LaTeX preprocessing functionality

- Updated `preprocessLaTeX` to improve handling of currency and LaTeX expressions.
- Introduced optimized regex patterns for better performance.
- Added support for escaping mhchem commands and handling code blocks.
- Enhanced tests for various LaTeX scenarios, including currency and special characters.
- Refactored existing tests to align with new preprocessing logic.

* chore: filter out false positives in unused packages workflow

- Added a grep command to exclude the micromark-extension-llm-math package from the list of unused dependencies in the GitHub Actions workflow.
This commit is contained in:
Danny Avila 2025-06-18 00:58:51 -04:00 committed by GitHub
parent dba0ec4320
commit c7e4523d7c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 341 additions and 251 deletions

View file

@ -25,6 +25,7 @@ type THoverButtons = {
};
type HoverButtonProps = {
id?: string;
onClick: (e?: React.MouseEvent<HTMLButtonElement>) => void;
title: string;
icon: React.ReactNode;
@ -67,6 +68,7 @@ const extractMessageContent = (message: TMessage): string => {
const HoverButton = memo(
({
id,
onClick,
title,
icon,
@ -89,6 +91,7 @@ const HoverButton = memo(
return (
<button
id={id}
className={buttonStyle}
onClick={onClick}
type="button"
@ -213,6 +216,7 @@ const HoverButtons = ({
{/* Edit Button */}
{isEditableEndpoint && (
<HoverButton
id={`edit-${message.messageId}`}
onClick={onEdit}
title={localize('com_ui_edit')}
icon={<EditIcon size="19" />}