Live Preview stops rendering callout widgets and inline formatting in notes with many callouts

Steps to reproduce

  1. Create a new note in an empty vault (restricted mode ON, no community plugins, no CSS snippets, default theme)
  2. Add approximately 30-40 callout blocks (> [!quote], > [!tip], etc.) spread across the note, each with bold text inside
  3. Add headings between callouts so the note has ~50 headings and ~40 callouts across ~600-700 lines total
  4. Open the note in Live Preview mode
  5. Scroll down to the latter half of the document
  6. Observe that at some point (approximately after 25-30 callouts), inline formatting breaks:
    • **bold** markers become visible (not folded/hidden)
    • > [!quote]- shows as raw blockquote text instead of a rendered callout widget
  7. Switch to Reading View — the entire document renders correctly
  8. Switch back to Live Preview — the issue persists in the same region

Did you follow the troubleshooting guide? [Y/N]

Yes. Tested with:

  • All community plugins disabled
  • All CSS snippets disabled
  • Default theme
  • Restricted mode ON
  • Full app restart (Cmd+Q and reopen)
  • Issue persists in all conditions above

Expected result

All callout widgets and inline formatting (** marker hiding) should render consistently throughout the entire document in Live Preview, regardless of the number of callouts.

Actual result

After approximately 25-30 callouts have been rendered, Live Preview stops processing:

  • Bold markers (**) remain visible as literal text instead of being hidden
  • Callout syntax (> [!quote]-) displays as plain blockquote text instead of callout widget
  • Heading syntax highlighting continues to work (since it’s CSS-based, not widget-based)

The break point is cumulative — it depends on total callout widgets processed, not viewport position. A 700-line document without callouts renders fine; the same length with 40+ callouts breaks.

Environment

After approximately 25-30 callouts have been rendered, Live Preview stops processing:

  • Bold markers (**) remain visible as literal text instead of being hidden
  • Callout syntax (> [!quote]-) displays as plain blockquote text instead of callout widget
  • Heading syntax highlighting continues to work (since it’s CSS-based, not widget-based)

The break point is cumulative — it depends on total callout widgets processed, not viewport position. A 700-line document without callouts renders fine; the same length with 40+ callouts breaks.

Additional information

Document statistics of the file where the issue was discovered:

Metric Value
Total lines 682
Total characters 22,108
Headings 51 (H1: 3, H2: 19, H3: 28, H4: 1)
Callout blocks 45 (quote: 35, tip: 6, warning: 2, info: 2)
Blockquote lines 255
Rendering breaks at ~line 400 (after ~27 callouts)

The issue appears to be related to CodeMirror 6’s widget rendering budget. Each callout requires a widget DOM element to be created, measured, and tracked. When the cumulative widget count exceeds ~25-30, the rendering pipeline stops processing new widgets and inline formatting decorations for the remaining content.