Skip to content

fix: prevent errors when accessing DOM during editor unmount #6325

fix: prevent errors when accessing DOM during editor unmount

fix: prevent errors when accessing DOM during editor unmount #6325

Re-run triggered November 25, 2025 14:14
Status Success
Total duration 16m 13s
Artifacts 4

build.yml

on: pull_request
Matrix: playwright
Fit to window
Zoom out
Zoom in

Annotations

6 errors and 4 notices
[firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:117:7 › Check SlashMenu Functionality › Should be able to create complex documents that match snapshots: tests/src/utils/editor.ts#L47
4) [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:117:7 › Check SlashMenu Functionality › Should be able to create complex documents that match snapshots Error: expect(string).toMatchSnapshot(expected) @@ -38,11 +38,11 @@ "type": "heading", "attrs": { "backgroundColor": "default", "textColor": "default", "textAlignment": "left", - "level": 2, + "level": 1, "isToggleable": false }, "content": [ { "type": "text", @@ -63,11 +63,11 @@ "type": "heading", "attrs": { "backgroundColor": "default", "textColor": "default", "textAlignment": "left", - "level": 3, + "level": 1, "isToggleable": false }, "content": [ { "type": "text", Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts-snapshots/docStructureSnapshot-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/slashmenu-slashmenu-Check--f99af-uments-that-match-snapshots-firefox/docStructureSnapshot-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts:141:5
[firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:42:7 › Check SlashMenu Functionality › Should be able to create h3: tests/src/utils/editor.ts#L11
3) [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:42:7 › Check SlashMenu Functionality › Should be able to create h3 TimeoutError: locator.waitFor: Timeout 1000ms exceeded. Call log: - waiting for locator('.bn-editor').locator('[data-content-type=heading][data-level="3"]') at ../utils/editor.ts:11 9 | export async function waitForSelectorInEditor(page: Page, selector: string) { 10 | const editor = page.locator(EDITOR_SELECTOR); > 11 | await editor.locator(selector).waitFor({ | ^ 12 | state: "attached", 13 | timeout: 1000, 14 | }); at waitForSelectorInEditor (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:11:34) at /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts:46:34
[firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:36:7 › Check SlashMenu Functionality › Should be able to create h2: tests/src/utils/editor.ts#L11
2) [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:36:7 › Check SlashMenu Functionality › Should be able to create h2 TimeoutError: locator.waitFor: Timeout 1000ms exceeded. Call log: - waiting for locator('.bn-editor').locator('[data-content-type=heading][data-level="2"]') at ../utils/editor.ts:11 9 | export async function waitForSelectorInEditor(page: Page, selector: string) { 10 | const editor = page.locator(EDITOR_SELECTOR); > 11 | await editor.locator(selector).waitFor({ | ^ 12 | state: "attached", 13 | timeout: 1000, 14 | }); at waitForSelectorInEditor (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:11:34) at /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts:40:34
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block: tests/src/end-to-end/draghandle/draghandle.test.ts#L151
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block Error: page.hover: Target page, context or browser has been closed Call log: - waiting for locator('[data-content-type=heading][data-level="2"]') 149 | await page.keyboard.type("This is h3"); 150 | > 151 | await page.hover(H_TWO_BLOCK_SELECTOR); | ^ 152 | await page.click(DRAG_HANDLE_SELECTOR); 153 | await page.click("text=Delete"); 154 | await page.waitForSelector(H_ONE_BLOCK_SELECTOR); at /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts:151:16
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block: tests/src/end-to-end/draghandle/draghandle.test.ts#L0
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block Test timeout of 30000ms exceeded.
[webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar: tests/src/end-to-end/ariakit/ariakit.test.ts#L41
1) [webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar Error: expect(Buffer).toMatchSnapshot(expected) 1007 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/ariakit/ariakit.test.ts-snapshots/ariakit-link-toolbar-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-link-toolbar-webkit/ariakit-link-toolbar-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-link-toolbar-webkit/ariakit-link-toolbar-diff.png 39 | 40 | await page.waitForTimeout(500); > 41 | expect(await page.screenshot()).toMatchSnapshot("ariakit-link-toolbar.png"); | ^ 42 | }); 43 | test("Check slash menu", async ({ page }) => { 44 | await focusOnEditor(page); at /__w/BlockNote/BlockNote/tests/src/end-to-end/ariakit/ariakit.test.ts:41:37
Build
{ "workflowData": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "80257362b8431a3c5bcf0b7c44b0976d2df33d09", "ref": "2190" }, "key": "VyWL90cPjd", "runId": 19522814065, "webhookDebug": { "action": "in_progress", "head_branch": "createlinkbutton-unmount", "head_repository_full_name": "1rrock/BlockNote", "full_name": "TypeCellOS/BlockNote", "isPullRequest": true, "prNumber": 2190, "prNumberType": "number", "isNewPullRequest": true, "isOldPullRequest": false, "prKey": "1rrock/BlockNote:createlinkbutton-unmount", "oldPrDataHash": "qhAvqkPadl", "lookupKey": "1rrock/BlockNote:createlinkbutton-unmount", "data": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "80257362b8431a3c5bcf0b7c44b0976d2df33d09", "ref": "2190" } } }
🎭 Playwright Run Summary
1 skipped 94 passed (2.3m)
🎭 Playwright Run Summary
4 flaky [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:36:7 › Check SlashMenu Functionality › Should be able to create h2 [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:42:7 › Check SlashMenu Functionality › Should be able to create h3 [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:117:7 › Check SlashMenu Functionality › Should be able to create complex documents that match snapshots 11 skipped 80 passed (3.6m)
🎭 Playwright Run Summary
1 flaky [webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar ─ 9 skipped 85 passed (3.1m)

Artifacts

Produced during runtime
Name Size Digest
playwright-report-chromium
263 KB
sha256:857e0cc86368594c6572c211bb0f5c159da29c450751f8a1b84e0e9d1d5a062e
playwright-report-firefox
2.2 MB
sha256:5b81b31c0661bc95bd1189f9c2d68bcb1b070e962bd2abe81fd8ca6004dda35b
playwright-report-webkit
828 KB
sha256:efe88416b884c7cc0e7772a935228d5fd88bafec27c7a0dde5d3d90620f58604
relative-ci-artifacts-editor
45.5 KB
sha256:ecafe7accb5e4b8d25fcd0cd86fb2f5aa90bd4cfe9f673581a4983424a56791d