fix: recover stale BlockNote render ids

This commit is contained in:
lucaronin
2026-05-07 06:16:17 +02:00
parent a92651e048
commit 8707c9e4be
7 changed files with 197 additions and 20 deletions

View File

@@ -0,0 +1,27 @@
import { describe, expect, it } from 'vitest'
import {
isRecoverableBlockNoteRenderError,
isRecoveredBlockNoteRenderError,
markRecoveredBlockNoteRenderError,
} from './blockNoteRenderRecovery'
describe('blockNoteRenderRecovery', () => {
it('marks only recovered BlockNote missing-id render errors for root suppression', () => {
const error = new Error("Block doesn't have id")
expect(isRecoverableBlockNoteRenderError(error)).toBe(true)
expect(isRecoveredBlockNoteRenderError(error, '')).toBe(false)
markRecoveredBlockNoteRenderError(error)
expect(isRecoveredBlockNoteRenderError(error, '')).toBe(true)
expect(isRecoveredBlockNoteRenderError(new Error('Other render failure'), '')).toBe(false)
})
it('recognizes recovered BlockNote errors from the React component stack fallback', () => {
expect(isRecoveredBlockNoteRenderError(
new Error("Block doesn't have id"),
'\n in MermaidBlock\n in BlockNoteRenderRecoveryBoundary',
)).toBe(true)
})
})