From b1394b2ebbe07fcdcd7af2a32decbf847f515065 Mon Sep 17 00:00:00 2001 From: Gagancreates Date: Fri, 22 May 2026 02:18:54 +0530 Subject: [PATCH] fix: drop duplicate Link extension and scroll headings to viewport top --- apps/x/apps/renderer/src/components/email-view.tsx | 2 +- .../apps/renderer/src/components/markdown-editor.tsx | 12 +++++++++--- .../renderer/src/components/rich-markdown-viewer.tsx | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/x/apps/renderer/src/components/email-view.tsx b/apps/x/apps/renderer/src/components/email-view.tsx index 674547e0..5e1a7401 100644 --- a/apps/x/apps/renderer/src/components/email-view.tsx +++ b/apps/x/apps/renderer/src/components/email-view.tsx @@ -499,7 +499,7 @@ function ComposeBox({ const editor = useEditor({ extensions: [ - StarterKit, + StarterKit.configure({ link: false }), Link.configure({ openOnClick: false, autolink: true }), Placeholder.configure({ placeholder: mode === 'reply' ? 'Write your reply…' : 'Write a message…', diff --git a/apps/x/apps/renderer/src/components/markdown-editor.tsx b/apps/x/apps/renderer/src/components/markdown-editor.tsx index 4d507d11..2c053962 100644 --- a/apps/x/apps/renderer/src/components/markdown-editor.tsx +++ b/apps/x/apps/renderer/src/components/markdown-editor.tsx @@ -564,11 +564,16 @@ const scrollToHeading = (view: EditorView, rawTarget: string) => { const selectionPos = Math.min(foundPos + 1, view.state.doc.content.size) view.dispatch( - view.state.tr - .setSelection(TextSelection.near(view.state.doc.resolve(selectionPos))) - .scrollIntoView() + view.state.tr.setSelection(TextSelection.near(view.state.doc.resolve(selectionPos))) ) view.focus() + + const domAtPos = view.domAtPos(foundPos + 1) + const node = domAtPos.node + const headingEl = node.nodeType === Node.ELEMENT_NODE + ? (node as HTMLElement) + : node.parentElement + headingEl?.scrollIntoView({ block: 'start', behavior: 'smooth' }) return true } @@ -727,6 +732,7 @@ export const MarkdownEditor = forwardRef