From 85347885bd96745d4d6c0cd410bc3fe14f33a58b Mon Sep 17 00:00:00 2001 From: SuYao Date: Thu, 24 Jul 2025 15:17:01 +0800 Subject: [PATCH] fix(MessageTools): improve error handling and logging in message preview rendering (#8453) - Enhanced the rendering logic for message previews by adding a try-catch block to handle JSON parsing errors more gracefully. - Updated the error handling to provide clearer error messages in the preview when exceptions occur. - Added debug logging to track the rendering process of message content. --- .../src/pages/home/Messages/MessageTools.tsx | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/renderer/src/pages/home/Messages/MessageTools.tsx b/src/renderer/src/pages/home/Messages/MessageTools.tsx index dcf55057c9..f52d06ba6e 100644 --- a/src/renderer/src/pages/home/Messages/MessageTools.tsx +++ b/src/renderer/src/pages/home/Messages/MessageTools.tsx @@ -280,22 +280,37 @@ const MessageTools: FC = ({ block }) => { if (!content) return null try { + logger.debug(`renderPreview: ${content}`) const parsedResult = JSON.parse(content) switch (parsedResult.content[0]?.type) { case 'text': - return ( - - ) + try { + return ( + + ) + } catch (e) { + return ( + + ) + } default: return } } catch (e) { logger.error('failed to render the preview of mcp results:', e as Error) - return + return ( + + ) } }