From 6dd4846de7fa4fe7e1eb2b0dad88e6203ea41fb3 Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Wed, 8 Apr 2026 11:39:09 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20generateDocument=20=EB=B0=98=ED=99=98?= =?UTF-8?q?=EA=B0=92=20=EB=B6=88=EC=9D=BC=EC=B9=98=20+=20documents=20undef?= =?UTF-8?q?ined=20=EB=B0=A9=EC=96=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ipcSuccess(doc)가 MeetingDocument를 직접 반환하는데 UI에서 resp.data.document로 접근하여 undefined 크래시. resp.data로 직접 접근하도록 수정. preload 타입도 수정. --- src/preload/index.ts | 2 +- src/renderer/components/meeting/MeetingDetailTabs.tsx | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/preload/index.ts b/src/preload/index.ts index efea7ab..cbfb0cb 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -623,7 +623,7 @@ const electronAPI = { updateTranscript: (params: MeetingUpdateTranscriptParams) => invoke(IPC_CHANNELS.MEETING_MODE.UPDATE_TRANSCRIPT, params), generateDocument: (params: MeetingGenerateDocParams) => - invoke(IPC_CHANNELS.MEETING_MODE.GENERATE_DOCUMENT, params), + invoke(IPC_CHANNELS.MEETING_MODE.GENERATE_DOCUMENT, params), getDocuments: (params: MeetingGetDocsParams) => invoke(IPC_CHANNELS.MEETING_MODE.GET_DOCUMENTS, params), updateDocument: (params: MeetingUpdateDocParams) => diff --git a/src/renderer/components/meeting/MeetingDetailTabs.tsx b/src/renderer/components/meeting/MeetingDetailTabs.tsx index e24288f..045869f 100644 --- a/src/renderer/components/meeting/MeetingDetailTabs.tsx +++ b/src/renderer/components/meeting/MeetingDetailTabs.tsx @@ -188,7 +188,7 @@ export function MeetingDetailTabs({ }) setGenerating(false) if (resp.success) { - const newDoc = resp.data.document + const newDoc = resp.data setDocuments((prev) => { // 새 문서 탭으로 이동: 전사(0) + 기존문서수 + 1 setTabIndex(prev.length + 1) @@ -308,8 +308,9 @@ export function MeetingDetailTabs({ onSaveTranscript={handleSaveTranscript} /> )} - {documents.map((doc, idx) => - tabIndex === idx + 1 ? ( + {documents.filter(Boolean).map((doc, idx) => { + if (!doc || tabIndex !== idx + 1) return null + return ( handleExportDocument(doc.id, format)} onDelete={() => handleDeleteDocument(doc.id)} /> - ) : null, - )} + ) + })} {/* AI 채팅 패널 */}