Updated markdown libraries and fixed breaking changes and type issues #415
+661
−517
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.
Summary:
This PR updates the markdown-related libraries (
react-markdown
,remark-gfm
, andremark-math
) and addresses the resulting breaking changes caused by the upgrades. Fixes #414.Changes:
Inline vs Block Code Handling:
inline
prop is no longer passed byreact-markdown
(v9.x+). We now determine whether a code block is inline by checking for the absence of aclassName
attribute."inline-code"
for inline code blocks to maintain consistent styling.Safe Access to
children
Prop:children
is defined, is an array, and handled correctly (e.g., checkingchildren.length
or replacing its first element). This avoids potential runtime errors wherechildren
could be null or undefined.children
and other props to conform to strict type checking, ensuring that we account for possible null or undefined values in rendering components.Special Character Handling:
▍
with a pulse animation for custom rendering, ensuring compatibility with the updatedreact-markdown
behavior.children[0]
exists and is a string.Affected Files:
components/stocks/message.tsx
: Fixed handling of inline vs block code and added null checks forchildren
.components/chat-message.tsx
(although unused): Applied similar fixes to handle breaking changes fromreact-markdown
and ensure type safety so that build would not fail since this file is included.Testing: