From 03e5e27c7907b136396f7ffa43491b3a580f336d Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Thu, 18 Jun 2026 10:30:28 +0800 Subject: [PATCH] fix(ai): prevent marked parse error from crashing chat during streaming --- apps/desktop/src/components/editor/AiAssistant.vue | 6 +++++- apps/desktop/src/components/grid/DataGrid.vue | 8 +------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/desktop/src/components/editor/AiAssistant.vue b/apps/desktop/src/components/editor/AiAssistant.vue index 8ad95f133f..11bc011efa 100644 --- a/apps/desktop/src/components/editor/AiAssistant.vue +++ b/apps/desktop/src/components/editor/AiAssistant.vue @@ -858,7 +858,11 @@ const markedInstance = new Marked({ }); function formatInlineText(text: string): string { - return markedInstance.parse(text) as string; + try { + return markedInstance.parse(text) as string; + } catch { + return text.replace(/&/g, "&").replace(//g, ">"); + } } const messageRenderer = computed(() => { diff --git a/apps/desktop/src/components/grid/DataGrid.vue b/apps/desktop/src/components/grid/DataGrid.vue index 2a8944bd12..f60b834648 100644 --- a/apps/desktop/src/components/grid/DataGrid.vue +++ b/apps/desktop/src/components/grid/DataGrid.vue @@ -4024,12 +4024,6 @@ const canvasEditingCell = computed(() => { return { rowIndex, visibleColIdx, actualColIdx: editing.col, rect }; }); -const canvasSingleSelectedCell = computed(() => { - const range = selectedRange.value; - if (!range || range.startRow !== range.endRow || range.startCol !== range.endCol) return null; - return { rowIndex: range.startRow, visibleColIdx: range.startCol }; -}); - function canvasEffectiveViewportWidth(): number { return canvasViewportWidth.value || canvasScrollerElement()?.clientWidth || 0; } @@ -6335,7 +6329,7 @@ const gridContextMenuItems = computed(() => {