Skip to content

feat: Trailing block extension rewrite #7766

feat: Trailing block extension rewrite

feat: Trailing block extension rewrite #7766

Triggered via pull request May 11, 2026 16:26
Status Failure
Total duration 7m 56s
Artifacts 14

build.yml

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

Annotations

17 errors and 6 notices
Build
Process completed with exit code 1.
Playwright Tests - chromium (2/2)
Process completed with exit code 1.
[chromium] › 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
1) [chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) Expected an image 1280px by 1655px, received 1280px by 1685px. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-chromium-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry2/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry2/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
[chromium] › 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
1) [chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(Buffer).toMatchSnapshot(expected) Expected an image 1280px by 1655px, received 1280px by 1685px. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-chromium-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry1/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium-retry1/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
[chromium] › 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
1) [chromium] › 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 1655px, received 1280px by 1685px. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/static/static.test.ts-snapshots/static-rendering-equality-chromium-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-chromium/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
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
1) [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── 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-retry2/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox-retry2/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/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
1) [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── 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-retry1/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-firefox-retry1/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/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
1) [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
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
1) [webkit] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── 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-retry2/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-webkit-retry2/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/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
1) [webkit] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── 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-retry1/static-rendering-equality-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/static-static-Check-static-17607-isually-matches-live-editor-webkit-retry1/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/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
1) [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
Playwright Tests - webkit (1/2)
Process completed with exit code 1.
[webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:306:7 › Check Keyboard Handlers' Behaviour › Check Delete before shallower block: tests/src/utils/editor.ts#L47
3) [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:306:7 › Check Keyboard Handlers' Behaviour › Check Delete before shallower block Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -41,19 +41,41 @@ "textAlignment": "left" }, "content": [ { "type": "text", - "text": "ParagraphParagraph" + "text": "Paragrah" } ] } ] } ] } ] + }, + { + "type": "blockContainer", + "attrs": { + "id": "2" + }, + "content": [ + { + "type": "paragraph", + "attrs": { + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Paragraph" + } + ] + } + ] } ] } ] } Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts-snapshots/deleteShallowerBlock-json-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/keyboardhandlers-keyboardh-9a661-lete-before-shallower-block-webkit-retry1/deleteShallowerBlock-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/keyboardhandlers/keyboardhandlers.test.ts:319:5
[webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:236:7 › Check Keyboard Handlers' Behaviour › Check Delete end of block with inline content child: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:236:7 › Check Keyboard Handlers' Behaviour › Check Delete end of block with inline content child Error: expect(string).toMatchSnapshot(expected) @@ -18,13 +18,40 @@ "textAlignment": "left" }, "content": [ { "type": "text", - "text": "ParagraphParagraph" + "text": "Paragraph" } ] + }, + { + "type": "blockGroup", + "content": [ + { + "type": "blockContainer", + "attrs": { + "id": "1" + }, + "content": [ + { + "type": "paragraph", + "attrs": { + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Paragraph" + } + ] + } + ] + } + ] } ] } ] } Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts-snapshots/deleteInlineContentChild-json-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/keyboardhandlers-keyboardh-db328-k-with-inline-content-child-webkit/deleteInlineContentChild-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/keyboardhandlers/keyboardhandlers.test.ts:248:5
[webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:321:7 › Check Keyboard Handlers' Behaviour › Check Delete before shallower block with children: tests/src/utils/editor.ts#L47
1) [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:321:7 › Check Keyboard Handlers' Behaviour › Check Delete before shallower block with children Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -54,10 +54,26 @@ ] }, { "type": "blockContainer", "attrs": { + "id": "2" + }, + "content": [ + { + "type": "paragraph", + "attrs": { + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + }, + { + "type": "blockContainer", + "attrs": { "id": "3" }, "content": [ { "type": "paragraph", Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts-snapshots/deleteShallowerBlockWithChildren-json-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/keyboardhandlers-keyboardh-ce0ec-allower-block-with-children-webkit-retry2/deleteShallowerBlockWithChildren-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/keyboardhandlers/keyboardhandlers.test.ts:342:5
🎭 Playwright Run Summary
1 failed [chromium] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 42 passed (39.7s)
🎭 Playwright Run Summary
1 failed [firefox] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 1 skipped 41 passed (52.2s)
🎭 Playwright Run Summary
1 failed [webkit] › src/end-to-end/static/static.test.ts:16:7 › Check static rendering › Check static rendering visually matches live editor 42 passed (1.1m)
🎭 Playwright Run Summary
2 skipped 92 passed (1.3m)
🎭 Playwright Run Summary
16 skipped 78 passed (1.6m)
🎭 Playwright Run Summary
1 failed [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:321:7 › Check Keyboard Handlers' Behaviour › Check Delete before shallower block with children 2 flaky [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:236:7 › Check Keyboard Handlers' Behaviour › Check Delete end of block with inline content child [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:306:7 › Check Keyboard Handlers' Behaviour › Check Delete before shallower block 12 skipped 11 did not run 68 passed (2.7m)

Artifacts

Produced during runtime
Name Size Digest
blob-report-chromium-1
127 KB
sha256:4aae0b5e42564e3517671a601d662ef5b24d65ea991ab486724bd083dfabb3d2
blob-report-chromium-2
1020 KB
sha256:d61cf9083cdced76a405941dce6b892f016026681a4d3cd49d01e7d3cb55ec9d
blob-report-firefox-1
113 KB
sha256:d25d137258127d6586810a6ad0b6bc134b3d42fac9d042b8bee802c3d9e2fe55
blob-report-firefox-2
1.79 MB
sha256:105c8cf2b35f9052e53375913f4f0a01da2ccc07f102042fc8add0596139268c
blob-report-webkit-1
3.73 MB
sha256:ee2b7f88536a0fda14137da875d509ae5f17b773d5a0e1c28fedfe03c0f7e7d2
blob-report-webkit-2
1.89 MB
sha256:ed7f78bb82b57fb0aa6703360d93ff447d97db9ced7c0b0404718f5daedc56f9
playwright-build
21.2 MB
sha256:b2285fa5f65cff003ca5709a7415aeaffba05a0c194017acc22753a43e07c797
playwright-report-chromium-1
260 KB
sha256:87703c5f2893c0b5e04fd25e059eec8fe7b955ba9b3ef3f17185bf25f746b28d
playwright-report-chromium-2
1.16 MB
sha256:8c29f524e671ae47e1a24a1d51967bde384d21b9f1fe464c642c45715ecfae66
playwright-report-firefox-1
250 KB
sha256:7a2d1cf132f70dcf0af0650618e24bce061e0d34224d69bd86268185b19beef2
playwright-report-firefox-2
1.82 MB
sha256:6e54645e03cd6fcde04f4e19198313c0b580c7110d9b629d47982eac2920fa76
playwright-report-merged
7.36 MB
sha256:f434ed2f708c0feb284502964014bb54a7a1805c95e1eed99012089dafb22829
playwright-report-webkit-1
4.21 MB
sha256:7178671dc32302434d3aac142f4a3f7625de2849bf2764882fa20801351248fb
playwright-report-webkit-2
1.86 MB
sha256:3af0630895f1da733cc2b4e23ed8f4c28bf49b922092a369b66afd246af4c5a2