Skip to content

Calling editor.updateBlock() in quick succession breaks the editor's undo/redo functionality #829

@balu-deciphr

Description

@balu-deciphr

Describe the bug
I'm using an (old) example from the docs to highlight blocks spanned by the current selection. The highlighting works just fine, but this seems to break the editor's undo/redo functionality.

To Reproduce
The demo is here.

To reproduce the issue, please do the following:

  1. Type something in the initialized content
  2. Press ctrl + z or cmd + z to undo what you typed. It will take multiple attempts to undo just one character.
  3. Remove the onSelectionChange prop from <BlockNoteView />
  4. Type something again in the editor
  5. Now the undo should work just fine.

It looks like the editor.updateBlock() calls within the editor.forEachBlock() causes the editor's history to break. Is there an alternate way to update the style of blocks?

Misc

  • Node version: 20.11.1
  • Package manager: npm
  • Browser: Firefox 126.0.1, Google Chrome 125.0.6422.142

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingprio:lowLow priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions