This commit is contained in:
Timothy Jaeryang Baek
2026-05-09 06:32:34 +09:00
parent ee3b82926b
commit 794b97025d

View File

@@ -302,6 +302,8 @@
let bubbleMenuElement: Element | null = null;
let element: Element | null = null;
let pendingUpdate = null;
const options = {
throwOnError: false
};
@@ -866,10 +868,19 @@
content: collaboration ? undefined : content,
autofocus: messageInput ? true : false,
onTransaction: () => {
// force re-render so `editor.isActive` works as expected
editor = editor;
if (!editor) return;
// Defer Svelte reactivity trigger to rAF so we don't interleave
// DOM reads/writes with ProseMirror's updateStateInner.
if (!pendingUpdate) {
pendingUpdate = requestAnimationFrame(() => {
pendingUpdate = null;
if (editor && !editor.isDestroyed) {
editor = editor;
}
});
}
htmlValue = editor.getHTML();
jsonValue = editor.getJSON();
@@ -1234,6 +1245,10 @@
});
onDestroy(() => {
if (pendingUpdate) {
cancelAnimationFrame(pendingUpdate);
}
if (provider) {
provider.destroy();
}