BlockNote
BlockNote copied to clipboard
The program crashes when the cursor hovers over a custom block.
In simple terms, I created a custom Mermaid block, but the program crashes when the mouse cursor passes over its middle section. In the console, I receive the following error message:
SideMenuPlugin.ts:568 Uncaught TypeError: Cannot read properties of undefined (reading 'id')
at bn.update (SideMenuPlugin.ts:568:43)
at EditorView.updatePluginViews (index.js:5407:32)
at EditorView.updateStateInner (index.js:5354:14)
at EditorView.updateState (index.js:5282:14)
at Wn.dispatchTransaction (Editor.ts:368:15)
at EditorView.dispatch (index.js:5637:33)
at updateSelection (index.js:3145:10)
at selectClickedLeaf (index.js:3152:9)
at handleSingleClick (index.js:3186:57)
at MouseDown.up (index.js:3327:18)
I expect the runtime effect to be as shown in the following image:
** To Reproduce ** here is demo
- Following the tutorial, created a custom Mermaid block.
- Add custom block schema to editor
- Start programe open in the broswer
- Resize broswer to 1024*768
- Add the custom mermaid block in the editor
- Use the cursor moves over the block, from top to bottom
- Finally can get the error info
Unfortunately, as a backend programmer, I'm unable to provide more detailed information about the issue. However, I speculate that the issue might stem from modifications to the DOM elements during the Mermaid rendering process, which could be causing problems with the mouse event triggers. i do not sure...
Misc
- Node version: v20.12.1
- Package manager: npm: v20.12.1
- Browser: edge chrome safari
import { BlockNoteEditor, PartialBlock } from "@blocknote/core"; import { useCreateBlockNote } from "@blocknote/react"; import { BlockNoteView } from "@blocknote/mantine" import "@blocknote/mantine/style.css";
interface editorProps { initialContent?: string; editable?: boolean; }
const TextEditor: React.FC = ({ initialContent, editable }) => {
const editor = useCreateBlockNote({ initialContent: initialContent ? (JSON.parse(initialContent) as PartialBlock[]) : undefined, }) as BlockNoteEditor; return ( <BlockNoteView onChange={() => { console.log(JSON.stringify(editor.domElement.innerHTML)) }} editor={editor} editable={editable} theme={"light"} /> )}
export default TextEditor;
use this code i work now, but still one issue is that. if you are call/use this component how to get the value from this
sorry, perhaps the question you answered is unrelated to this issue.
I get some more info: I found a repo blocknote-mermaid has the same issue, look the follow video
https://github.com/TypeCellOS/BlockNote/assets/108911591/8352922f-4905-4e8c-80dd-9761024993c9
It looks like an exception happens when trying to get the block information as the cursor goes over it, leading to the block variable being undefined.
Hey! Subscribing into this issue. I am having the same problem with a custom block. Tomorrow I will investigate more and see if I can give more information
Hey @matthewlipski do you have any updates on this? Or if it is being worked on/planned? I wanted to plan my times to see if I should alocate some time in the near future to try to fix it myself or not. Thanks in advance!
Just pushed #995 which should fix the issue. Gonna make sure and create a new release:)