From 86a690b00a1fa568d95d2b345b0ec6c9d818adcf Mon Sep 17 00:00:00 2001 From: Ivan Vasilov Date: Thu, 3 Apr 2025 10:44:44 +0300 Subject: [PATCH] fix: Add a catch block around a JSON.parse when rendering AI assistant messages (#34671) Add a catch block around a json.parse. --- .../ui/AIAssistantPanel/MessageMarkdown.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/studio/components/ui/AIAssistantPanel/MessageMarkdown.tsx b/apps/studio/components/ui/AIAssistantPanel/MessageMarkdown.tsx index d4d75192eaf..5fe0885cde1 100644 --- a/apps/studio/components/ui/AIAssistantPanel/MessageMarkdown.tsx +++ b/apps/studio/components/ui/AIAssistantPanel/MessageMarkdown.tsx @@ -185,10 +185,14 @@ export const MarkdownPre = ({ const rawContent = children[0].props.children[0] const propsMatch = rawContent.match(/(?:--|\/\/)\s*props:\s*(\{[^}]+\})/) - const snippetProps: AssistantSnippetProps = useMemo( - () => (propsMatch ? JSON.parse(propsMatch[1]) : {}), - [propsMatch] - ) + const snippetProps: AssistantSnippetProps = useMemo(() => { + try { + if (propsMatch) { + return JSON.parse(propsMatch[1]) + } + } catch {} + return {} + }, [propsMatch]) const { xAxis, yAxis } = snippetProps const snippetId = snippetProps.id