This issue has been created
 
 
Cristal / cid:jira-generated-image-avatar-e9f1e6a2-8345-4673-940c-076188d0fc99 CRISTAL-737 Open

Improve performance of differential macros rendering in BlockNote

 
View issue   ·   Add comment
 

Issue created

 
cid:jira-generated-image-avatar-9cfd0311-c94e-45bc-b324-87b71c4cc557 Clément Eraud created this issue on 14/Nov/25 15:49
 
Summary: Improve performance of differential macros rendering in BlockNote
Issue Type: cid:jira-generated-image-avatar-e9f1e6a2-8345-4673-940c-076188d0fc99 Improvement
Affects Versions: 0.23.1
Assignee: Unassigned
Components: Editor - Blocknote
Created: 14/Nov/25 15:49
Priority: cid:jira-generated-image-static-major-2c97718f-2b0b-4cfd-a62d-bb70162f0e8f Major
Reporter: Clément Eraud
Description:

When a macro's editable area is edited inside BlockNote, it forces a re-render on the entire React component. Currently, the re-render behavior is to forcefully replace the entire DOM structure generated from the macro whenever a single element changes in the returned AST.

This is not desirable for quickly-changing elements as it can have a pretty severe performance penalty, so this should be changed to be more performant.

One possible approach would be to force idea on all array-like structures in the AST returned by macros, but this would be at the cost of API ergonomics.