Skip to content

fix: Backspace bug when current block is empty and previous block's last child is empty #7146

fix: Backspace bug when current block is empty and previous block's last child is empty

fix: Backspace bug when current block is empty and previous block's last child is empty #7146

Triggered via pull request March 31, 2026 16:17
Status Success
Total duration 6m 10s
Artifacts 15

build.yml

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

Annotations

2 errors, 9 warnings, and 7 notices
[chromium] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:77:7 › Check Keyboard Handlers' Behaviour › Check Enter preserves nested blocks for empty block: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:77:7 › Check Keyboard Handlers' Behaviour › Check Enter preserves nested blocks for empty block Error: expect(string).toMatchSnapshot(expected) @@ -23,91 +23,22 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "4" + "id": "1" }, "content": [ { "type": "paragraph", "attrs": { "backgroundColor": "default", "textColor": "default", "textAlignment": "left" } - }, - { - "type": "blockGroup", - "content": [ - { - "type": "blockContainer", - "attrs": { - "id": "1" - }, - "content": [ - { - "type": "heading", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left", - "level": 2, - "isToggleable": false - }, - "content": [ - { - "type": "text", - "text": "Heading" - } - ] - } - ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "2" - }, - "content": [ - { - "type": "heading", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left", - "level": 3, - "isToggleable": false - }, - "content": [ - { - "type": "text", - "text": "Heading" - } - ] - } - ] - } - ] } ] - }, - { - "type": "blockContainer", - "attrs": { - "id": "3" - }, - "content": [ - { - "type": "paragraph", - "attrs": { - "backgroundColor": "default", - "textColor": "default", - "textAlignment": "left" - } - } - ] } ] } ] } Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts-snapshots/enterPreservesNestedBlocksEmpty-json-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/keyboardhandlers-keyboardh-5461c-sted-blocks-for-empty-block-chromium/enterPreservesNestedBlocksEmpty-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) a
[webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:152:7 › Check Keyboard Handlers' Behaviour › Check Backspace preserves nested blocks for empty block: tests/src/utils/editor.ts#L47
1) [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:152:7 › Check Keyboard Handlers' Behaviour › Check Backspace preserves nested blocks for empty block Error: expect(string).toMatchSnapshot(expected) @@ -27,11 +27,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "2" + "id": "1" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts-snapshots/backspacePreservesNestedBlocksEmpty-json-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/keyboardhandlers-keyboardh-7d281-sted-blocks-for-empty-block-webkit/backspacePreservesNestedBlocksEmpty-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:170:5
Playwright Build
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - firefox (2/2)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - chromium (2/2)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - webkit (2/2)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - chromium (1/2)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - firefox (1/2)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Playwright Tests - webkit (1/2)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Merge Playwright Reports
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. 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": "41c19e018daec34bb760be2fb8263958503c6dda", "ref": "2610" }, "key": "s2VqgRygGZ", "runId": 23807727433, "webhookDebug": { "action": "requested", "head_branch": "backspace-empty-nested-block-fix", "head_repository_full_name": "TypeCellOS/BlockNote", "full_name": "TypeCellOS/BlockNote", "isPullRequest": true, "prNumber": 2610, "prNumberType": "number", "isNewPullRequest": true, "isOldPullRequest": false, "prKey": "TypeCellOS/BlockNote:backspace-empty-nested-block-fix", "oldPrDataHash": "Mf4Zoh1ocL", "lookupKey": "TypeCellOS/BlockNote:backspace-empty-nested-block-fix", "data": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "41c19e018daec34bb760be2fb8263958503c6dda", "ref": "2610" } } }
🎭 Playwright Run Summary
40 passed (46.7s)
🎭 Playwright Run Summary
40 passed (35.1s)
🎭 Playwright Run Summary
40 passed (1.0m)
🎭 Playwright Run Summary
1 flaky [chromium] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:77:7 › Check Keyboard Handlers' Behaviour › Check Enter preserves nested blocks for empty block 2 skipped 81 passed (1.3m)
🎭 Playwright Run Summary
12 skipped 72 passed (1.4m)
🎭 Playwright Run Summary
1 flaky [webkit] › src/end-to-end/keyboardhandlers/keyboardhandlers.test.ts:152:7 › Check Keyboard Handlers' Behaviour › Check Backspace preserves nested blocks for empty block 10 skipped 73 passed (2.2m)

Artifacts

Produced during runtime
Name Size Digest
blob-report-chromium-1 Expired
5.28 MB
sha256:785b9ad728803fc33e38dce5b2f7de6ce71a5df1076139ed3fe196ba6ca4a7ab
blob-report-chromium-2 Expired
48.7 KB
sha256:c7032863ba4b127539a0eb5028b1d7cabd6a412552a2366910b64bc4832f6793
blob-report-firefox-1 Expired
103 KB
sha256:1d1361272be5492e677507e243427752972ecd22b417badd8ef8a892466e39bc
blob-report-firefox-2 Expired
49.5 KB
sha256:adb97d2094a8575937739db758b65ea05ca443c607c4d5ce72c1abcbd564cdb6
blob-report-webkit-1 Expired
5.35 MB
sha256:69ed07150cae4756982b8bc1176f6293cf16447c251d6990513798f947d32e02
blob-report-webkit-2 Expired
49.6 KB
sha256:9b2b1a0f06ff074ccf89e94f92d80ab64a1732273cedbe5abcc5b742639408e8
playwright-build Expired
26.1 MB
sha256:04b7b1dc45105223747c6974e1c70d064b6784bf0a83a91491e5c515f783cd63
playwright-report-chromium-1 Expired
5.78 MB
sha256:f4b31ea4acad872c0b1995e8655aa0816e54a5a987a6dfb0a41bacd1f119b8bf
playwright-report-chromium-2 Expired
207 KB
sha256:a10f651ed18f0c49d02086c810052df89b6f9338f3d2c2ec4c75ff9148ef9a9b
playwright-report-firefox-1 Expired
240 KB
sha256:a22f990938447509c99ac44ad776c819db08551e3b4be0fd67a4a490c1367b04
playwright-report-firefox-2 Expired
207 KB
sha256:6275526b9c05f0767ee8f98ef69789423fb99b27d8efde486390f6c427d42d4b
playwright-report-merged Expired
11.1 MB
sha256:457cd2dd389c60d6162d59488af8fd95f493264060f8649c71d198be3cd124f4
playwright-report-webkit-1 Expired
5.85 MB
sha256:40703e218b047b04676a053bf6113e258db82cd16ccba0942cb516b573452f4c
playwright-report-webkit-2 Expired
207 KB
sha256:7bcf3e02094fad361f2dac1c70a76cb55010cd38bea533443237547781d72aa2
relative-ci-artifacts-editor
46.8 KB
sha256:40b5c3d7091dc9cc577392233fda575ba7b3c3cd3dbdda26d1bcced503a3b895