diff --git a/src/renderer/src/components/editor/EditorContent.markdown-classification.test.tsx b/src/renderer/src/components/editor/EditorContent.markdown-classification.test.tsx index 28e004e29f4..5edae2ca1a5 100644 --- a/src/renderer/src/components/editor/EditorContent.markdown-classification.test.tsx +++ b/src/renderer/src/components/editor/EditorContent.markdown-classification.test.tsx @@ -286,10 +286,12 @@ describe('inline Markdown render classification', () => { expect(classifiers.exceedsSizeLimit).not.toHaveBeenCalled() }) - it('preserves unsupported and oversized rich-mode fallbacks', () => { + it('renders unsupported rich drafts in preview while keeping oversized drafts in source', () => { const unsupported = renderEditPath({ content: '[reference]: https://example.com' }) - expect(unsupported.model.canExportMarkdownToPdf).toBe(false) + expect(unsupported.view.container.innerHTML).toContain('data-editor-view="preview"') + expect(unsupported.view.container.innerHTML).not.toContain('data-editor-view="source"') + expect(unsupported.model.canExportMarkdownToPdf).toBe(true) expect(unsupported.view.getByText('Reference links require source mode.')).toBeTruthy() expect(unsupported.view.queryByText('Open anyway')).toBeNull() unsupported.view.unmount() @@ -300,4 +302,15 @@ describe('inline Markdown render classification', () => { expect(oversized.view.getByText(/File is larger than the .* rich editing limit/)).toBeTruthy() expect(oversized.view.getByText('Open anyway')).toBeTruthy() }) + + it('keeps unsupported drafts editable when Source is selected', () => { + const source = renderEditPath({ + content: '[reference]: https://example.com', + viewMode: 'source' + }) + + expect(source.view.container.innerHTML).toContain('data-editor-view="source"') + expect(source.view.container.innerHTML).not.toContain('data-editor-view="preview"') + expect(classifiers.getUnsupportedMessage).not.toHaveBeenCalled() + }) }) diff --git a/src/renderer/src/components/editor/EditorMarkdownFileSurface.tsx b/src/renderer/src/components/editor/EditorMarkdownFileSurface.tsx index b3777113d0a..4bb4c04d65a 100644 --- a/src/renderer/src/components/editor/EditorMarkdownFileSurface.tsx +++ b/src/renderer/src/components/editor/EditorMarkdownFileSurface.tsx @@ -142,7 +142,7 @@ export function EditorMarkdownFileSurface({ return (