feat(chat): add Mermaid diagram zoom controls (#2100)

* feat(chat): add mermaid diagram zoom controls

* fix(chat): handle malformed mermaid data urls

* fix(chat): preserve mermaid load error stack

---------

Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
Carson
2026-07-08 20:43:23 +03:00
committed by GitHub
co-authored by Bohdan Triapitsyn
parent dfed121bf1
commit 3d32ac7989
18 changed files with 1069 additions and 115 deletions
+10
View File
@@ -1962,6 +1962,11 @@ export const dict: Record<I18nKey, string> = {
'chat.toolOutputDialog.image.closeAria': '이미지 미리보기 닫기',
'chat.toolOutputDialog.mermaid.missingSource': 'Mermaid 소스 URL이 없습니다.',
'chat.toolOutputDialog.mermaid.loadFailed': 'Mermaid 다이어그램을 불러올 수 없습니다',
'chat.toolOutputDialog.mermaid.dataUrlMalformed': 'Mermaid 데이터 URL 형식이 올바르지 않습니다.',
'chat.toolOutputDialog.mermaid.invalidLocalPath': 'Mermaid 로컬 파일 경로가 올바르지 않습니다.',
'chat.toolOutputDialog.mermaid.readFileFailedWithStatus': 'Mermaid 파일을 읽을 수 없습니다. 상태: {status}.',
'chat.toolOutputDialog.mermaid.unsupportedUrlProtocol': 'Mermaid URL 프로토콜은 지원되지 않습니다.',
'chat.toolOutputDialog.mermaid.loadFailedWithStatus': 'Mermaid 다이어그램을 불러올 수 없습니다. 상태: {status}.',
'chat.toolOutputDialog.mermaid.closeAria': '다이어그램 미리보기 닫기',
'chat.toolOutputDialog.mermaid.loading': '다이어그램 로드 중…',
'chat.toolOutputDialog.mermaid.renderFailed': 'Mermaid 다이어그램을 렌더링할 수 없습니다.',
@@ -2669,6 +2674,8 @@ export const dict: Record<I18nKey, string> = {
'mainLayout.mobile.closeDrawerAria': '드로어 닫기',
'sortableTabsStrip.aria.tabs': '탭',
'openChamberLogo.aria.logo': 'OpenChamber 로고',
'markdownRenderer.code.actions.copyTitle': '코드 복사',
'markdownRenderer.code.actions.copiedTitle': '복사됨',
'markdownRenderer.table.actions.copyTitle': '표 복사',
'markdownRenderer.code.actions.enableWrapTitle': '줄 바꿈 켜기',
'markdownRenderer.code.actions.disableWrapTitle': '줄 바꿈 끄기',
@@ -2677,6 +2684,9 @@ export const dict: Record<I18nKey, string> = {
'markdownRenderer.mermaid.actions.copyTitle': '복사',
'markdownRenderer.mermaid.actions.copySourceTitle': '소스 복사',
'markdownRenderer.mermaid.actions.downloadSvgTitle': 'SVG 다운로드',
'markdownRenderer.mermaid.actions.zoomInTitle': '확대',
'markdownRenderer.mermaid.actions.zoomOutTitle': '축소',
'markdownRenderer.mermaid.actions.resetViewTitle': '보기 초기화',
'markdownRenderer.mermaid.toast.downloadFailed': '다이어그램 다운로드 실패',
'common.date.today': 'Today',
'common.date.yesterday': 'Yesterday',