Skip to content

feat: Trailing block extension rewrite #7756

feat: Trailing block extension rewrite

feat: Trailing block extension rewrite #7756

Triggered via pull request May 11, 2026 13:06
Status Failure
Total duration 6m 17s
Artifacts 13

build.yml

on: pull_request
Matrix: playwright
Merge Playwright Reports
56s
Merge Playwright Reports
Fit to window
Zoom out
Zoom in

Annotations

22 errors, 3 warnings, and 6 notices
Playwright Tests - chromium (2/2)
Value cannot be null. (Parameter 'ContainerId')
Playwright Tests - chromium (2/2)
Value cannot be null. (Parameter 'ContainerId')
Playwright Tests - chromium (2/2)
Docker pull failed with exit code 1
Playwright Tests - firefox (2/2)
Process completed with exit code 1.
[firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Error: expect(Buffer).toMatchSnapshot(expected) Expected an image 1280px by 1641px, received 1280px by 1671px. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-firefox-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png", { | ^ 38 | // Allowance for variations in the image caption text. The placehold.co 39 | // URL renders differently (e.g., '×' vs 'x' character) between runs. 40 | maxDiffPixels: 200, at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[firefox] › src/end-to-end/shadcn/shadcn.test.ts:84:7 › Check ShadCN UI › Check image toolbar: tests/src/end-to-end/shadcn/shadcn.test.ts#L89
2) [firefox] › src/end-to-end/shadcn/shadcn.test.ts:84:7 › Check ShadCN UI › Check image toolbar ─ Error: expect(Buffer).toMatchSnapshot(expected) 5352 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/shadcn/shadcn.test.ts-snapshots/shadcn-image-toolbar-firefox-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/shadcn-shadcn-Check-ShadCN-UI-Check-image-toolbar-firefox/shadcn-image-toolbar-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/shadcn-shadcn-Check-ShadCN-UI-Check-image-toolbar-firefox/shadcn-image-toolbar-diff.png 87 | 88 | await page.waitForTimeout(500); > 89 | expect(await page.screenshot()).toMatchSnapshot("shadcn-image-toolbar.png"); | ^ 90 | }); 91 | }); 92 | at /__w/BlockNote/BlockNote/tests/src/end-to-end/shadcn/shadcn.test.ts:89:37
[firefox] › src/end-to-end/multicolumn/multicolumn.test.ts:12:7 › Check Multi-Column Behaviour › Check Delete before column: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/multicolumn/multicolumn.test.ts:12:7 › Check Multi-Column Behaviour › Check Delete before column Error: expect(string).toMatchSnapshot(expected) @@ -192,26 +192,10 @@ ] } ] } ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "11" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - } - } - ] } ] } ] } Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/multicolumn/multicolumn.test.ts-snapshots/deleteBeforeColumn-json-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/multicolumn-multicolumn-Ch-2fd07--Check-Delete-before-column-firefox/deleteBeforeColumn-json-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/multicolumn/multicolumn.test.ts:23:5
Playwright Tests - webkit (2/2)
Process completed with exit code 1.
[webkit] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor: tests/src/end-to-end/static/static.test.ts#L37
3) [webkit] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Error: expect(Buffer).toMatchSnapshot(expected) Expected an image 1280px by 1631px, received 1280px by 1661px. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-webkit/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-webkit/static-rendering-equality-diff.png 35 | scale: "css", 36 | }), > 37 | ).toMatchSnapshot("static-rendering-equality.png", { | ^ 38 | // Allowance for variations in the image caption text. The placehold.co 39 | // URL renders differently (e.g., '×' vs 'x' character) between runs. 40 | maxDiffPixels: 200, at /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts:37:7
[webkit] › src/end-to-end/shadcn/shadcn.test.ts:84:7 › Check ShadCN UI › Check image toolbar: tests/src/end-to-end/shadcn/shadcn.test.ts#L89
2) [webkit] › src/end-to-end/shadcn/shadcn.test.ts:84:7 › Check ShadCN UI › Check image toolbar ── Error: expect(Buffer).toMatchSnapshot(expected) 21474 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/shadcn/shadcn.test.ts-snapshots/shadcn-image-toolbar-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/shadcn-shadcn-Check-ShadCN-UI-Check-image-toolbar-webkit/shadcn-image-toolbar-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/shadcn-shadcn-Check-ShadCN-UI-Check-image-toolbar-webkit/shadcn-image-toolbar-diff.png 87 | 88 | await page.waitForTimeout(500); > 89 | expect(await page.screenshot()).toMatchSnapshot("shadcn-image-toolbar.png"); | ^ 90 | }); 91 | }); 92 | at /__w/BlockNote/BlockNote/tests/src/end-to-end/shadcn/shadcn.test.ts:89:37
[webkit] › src/end-to-end/multicolumn/multicolumn.test.ts:12:7 › Check Multi-Column Behaviour › Check Delete before column: tests/src/utils/editor.ts#L47
1) [webkit] › src/end-to-end/multicolumn/multicolumn.test.ts:12:7 › Check Multi-Column Behaviour › Check Delete before column Error: expect(string).toMatchSnapshot(expected) @@ -192,26 +192,10 @@ ] } ] } ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "11" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - } - } - ] } ] } ] } Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/multicolumn/multicolumn.test.ts-snapshots/deleteBeforeColumn-json-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/multicolumn-multicolumn-Ch-2fd07--Check-Delete-before-column-webkit/deleteBeforeColumn-json-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/multicolumn/multicolumn.test.ts:23:5
Playwright Tests - firefox (1/2)
Process completed with exit code 1.
[firefox] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar: tests/src/end-to-end/ariakit/ariakit.test.ts#L89
1) [firefox] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar Error: expect(Buffer).toMatchSnapshot(expected) 5352 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-image-toolbar-firefox-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-image-toolbar-firefox/ariakit-image-toolbar-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-image-toolbar-firefox/ariakit-image-toolbar-diff.png 87 | 88 | await page.waitForTimeout(500); > 89 | expect(await page.screenshot()).toMatchSnapshot( | ^ 90 | "ariakit-image-toolbar.png", 91 | ); 92 | }); at /__w/BlockNote/BlockNote/tests/src/end-to-end/ariakit/ariakit.test.ts:89:37
Playwright Tests - chromium (1/2)
Process completed with exit code 1.
[chromium] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks: tests/src/utils/mouse.ts#L12
3) [chromium] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks Error: locator.boundingBox: Test timeout of 8000ms exceeded. Call log: - waiting for locator('[data-content-type=heading][data-level="2"]') at ../utils/mouse.ts:12 10 | 11 | async function getElementRightCoords(_page: Page, element: Locator) { > 12 | const boundingBox = (await element.boundingBox())!; | ^ 13 | const centerY = boundingBox.y + boundingBox.height / 2; 14 | 15 | return { x: boundingBox.x + boundingBox.width - 1, y: centerY }; at getElementRightCoords (/__w/BlockNote/BlockNote/tests/src/utils/mouse.ts:12:38) at dragAndDropBlock (/__w/BlockNote/BlockNote/tests/src/utils/mouse.ts:56:13) at /__w/BlockNote/BlockNote/tests/src/end-to-end/dragdrop/dragdrop.test.ts:38:5
[chromium] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks: tests/src/end-to-end/dragdrop/dragdrop.test.ts#L0
3) [chromium] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks Test timeout of 8000ms exceeded.
[chromium] › src/end-to-end/copypaste/copypaste.test.ts:27:7 › Check Copy/Paste Functionality › Paragraphs should stay separate: tests/src/utils/editor.ts#L47
2) [chromium] › src/end-to-end/copypaste/copypaste.test.ts:27:7 › Check Copy/Paste Functionality › Paragraphs should stay separate Error: expect(string).toMatchSnapshot(expected) @@ -18,11 +18,11 @@ "textAlignment": "left" }, "content": [ { "type": "text", - "text": "Paragraph" + "text": "ParagraphParagraphParagraph" } ] } ] }, @@ -40,135 +40,15 @@ "textAlignment": "left" }, "content": [ { "type": "text", - "text": "Paragraph" + "text": "ParagraphParagraphParagraph" } ] } ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "2" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - }, - "content": [ - { - "type": "text", - "text": "Paragraph" - } - ] - } - ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "3" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - } - } - ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "4" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - }, - "content": [ - { - "type": "text", - "text": "Paragraph" - } - ] - } - ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "5" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - }, - "content": [ - { - "type": "text", - "text": "Paragraph" - } - ] - } - ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "6" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - }, - "content": [ - { - "type": "text",
[chromium] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar: tests/src/end-to-end/ariakit/ariakit.test.ts#L89
1) [chromium] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar Error: expect(Buffer).toMatchSnapshot(expected) 5392 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-image-toolbar-chromium-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-image-toolbar-chromium/ariakit-image-toolbar-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-image-toolbar-chromium/ariakit-image-toolbar-diff.png 87 | 88 | await page.waitForTimeout(500); > 89 | expect(await page.screenshot()).toMatchSnapshot( | ^ 90 | "ariakit-image-toolbar.png", 91 | ); 92 | }); at /__w/BlockNote/BlockNote/tests/src/end-to-end/ariakit/ariakit.test.ts:89:37
Playwright Tests - webkit (1/2)
Process completed with exit code 1.
[webkit] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks: tests/src/utils/mouse.ts#L12
2) [webkit] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks Error: locator.boundingBox: Test timeout of 8000ms exceeded. Call log: - waiting for locator('[data-content-type=heading][data-level="2"]') at ../utils/mouse.ts:12 10 | 11 | async function getElementRightCoords(_page: Page, element: Locator) { > 12 | const boundingBox = (await element.boundingBox())!; | ^ 13 | const centerY = boundingBox.y + boundingBox.height / 2; 14 | 15 | return { x: boundingBox.x + boundingBox.width - 1, y: centerY }; at getElementRightCoords (/__w/BlockNote/BlockNote/tests/src/utils/mouse.ts:12:38) at dragAndDropBlock (/__w/BlockNote/BlockNote/tests/src/utils/mouse.ts:56:13) at /__w/BlockNote/BlockNote/tests/src/end-to-end/dragdrop/dragdrop.test.ts:38:5
[webkit] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks: tests/src/end-to-end/dragdrop/dragdrop.test.ts#L0
2) [webkit] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks Test timeout of 8000ms exceeded.
[webkit] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar: tests/src/end-to-end/ariakit/ariakit.test.ts#L89
1) [webkit] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar Error: expect(Buffer).toMatchSnapshot(expected) 21474 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-image-toolbar-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-image-toolbar-webkit/ariakit-image-toolbar-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-image-toolbar-webkit/ariakit-image-toolbar-diff.png 87 | 88 | await page.waitForTimeout(500); > 89 | expect(await page.screenshot()).toMatchSnapshot( | ^ 90 | "ariakit-image-toolbar.png", 91 | ); 92 | }); at /__w/BlockNote/BlockNote/tests/src/end-to-end/ariakit/ariakit.test.ts:89:37
Playwright Tests - chromium (2/2)
Docker pull failed with exit code 1, back off 7.172 seconds before retry.
Playwright Tests - chromium (2/2)
Docker pull failed with exit code 1, back off 5.215 seconds before retry.
Build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build
{ "workflowData": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "e02f85e138f97edeba2921049409f4c17061f054", "ref": "2733", "headBranch": "trailing-block-update" }, "key": "tX6leSUYmz", "runId": 25671996463, "webhookDebug": { "action": "requested", "head_branch": "trailing-block-update", "head_repository_full_name": "TypeCellOS/BlockNote", "full_name": "TypeCellOS/BlockNote", "isPullRequest": true, "prNumber": 2733, "prNumberType": "number", "isNewPullRequest": true, "isOldPullRequest": false, "prKey": "TypeCellOS/BlockNote:trailing-block-update", "oldPrDataHash": "IXicH67kMJ", "lookupKey": "TypeCellOS/BlockNote:trailing-block-update", "data": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "e02f85e138f97edeba2921049409f4c17061f054", "ref": "2733", "headBranch": "trailing-block-update" } }, "currentCursor": { "sha": "adc572d321a0fe2b1c41903f90b974bada7fc75c", "timestamp": 25671005866 }, "pkgPrNewVersion": "0.0.71" }
🎭 Playwright Run Summary
3 failed [firefox] › src/end-to-end/multicolumn/multicolumn.test.ts:12:7 › Check Multi-Column Behaviour › Check Delete before column [firefox] › src/end-to-end/shadcn/shadcn.test.ts:84:7 › Check ShadCN UI › Check image toolbar ── [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 1 skipped 3 did not run 36 passed (50.5s)
🎭 Playwright Run Summary
3 failed [webkit] › src/end-to-end/multicolumn/multicolumn.test.ts:12:7 › Check Multi-Column Behaviour › Check Delete before column [webkit] › src/end-to-end/shadcn/shadcn.test.ts:84:7 › Check ShadCN UI › Check image toolbar ─── [webkit] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 3 did not run 37 passed (1.0m)
🎭 Playwright Run Summary
1 failed [firefox] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar 16 skipped 77 passed (1.5m)
🎭 Playwright Run Summary
3 failed [chromium] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar [chromium] › src/end-to-end/copypaste/copypaste.test.ts:27:7 › Check Copy/Paste Functionality › Paragraphs should stay separate [chromium] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks 2 skipped 12 did not run 77 passed (1.4m)
🎭 Playwright Run Summary
2 failed [webkit] › src/end-to-end/ariakit/ariakit.test.ts:84:7 › Check Ariakit UI › Check image toolbar [webkit] › src/end-to-end/dragdrop/dragdrop.test.ts:21:7 › Check Block Dragging Functionality › Should be able to drag & drop non-nested blocks 12 skipped 4 did not run 76 passed (2.0m)

Artifacts

Produced during runtime
Name Size Digest
blob-report-chromium-1
168 KB
sha256:778ad2ba6d1851a8824130a5e9abb15271b0aa3b9712ede8c17114bdf1768d47
blob-report-firefox-1
158 KB
sha256:e6d8e9af4022d8f42239d84ba10787e458893087fe4b6c3d2a06efe65e0b77c4
blob-report-firefox-2
384 KB
sha256:45db54b4eb9d4922d5ae027cd1c7bb6c9eec7f7b3b1817378cfc0def1fdbb0bc
blob-report-webkit-1
240 KB
sha256:7b1947e43d07af6d31e75498af58f17bcbd8a1628bb7369cde13c9e292f71063
blob-report-webkit-2
502 KB
sha256:1cc855d20da6ad8d1c216fd4e1e5f07fd2a408722ac910a0919da8c54ed1fdd7
playwright-build
21.2 MB
sha256:cfa6719f0fd068ba41a17fe67cee4b799854318e6981fa4714574eccd0246e3e
playwright-report-chromium-1
294 KB
sha256:95701a1262077c8460d0bc31a6697acd0174400d1ad5242f7dcfdaccb19fb449
playwright-report-firefox-1
289 KB
sha256:fa0739f0e94a7aeecb2069a699e4ebed7178417ce4666f67673fe248b62f2e51
playwright-report-firefox-2
528 KB
sha256:f79a57806d9aea92e60b0b6334625f103e031e3ed0803dda3f3c8a79f0b5f101
playwright-report-merged
1.19 MB
sha256:857e71e94e237b6b1303652f79e565c46b8103774d06e4538a955e452b588f28
playwright-report-webkit-1
347 KB
sha256:a4ffc03b2ba8be7e33b296e5aaed709bbc81080e00dd0191c72d7dbd84234308
playwright-report-webkit-2
620 KB
sha256:72bc2b4c313272a3c5e05be036a4e0d18e356b3ff4be69c0991a5bc7f4296148
relative-ci-artifacts-editor
44.7 KB
sha256:6329c09b20e8aadc9858e004164f92e8f111bd95bd821fe916aeacfd55091f38