Skip to content

feat: AI autocomplete [render preview] #6468

feat: AI autocomplete [render preview]

feat: AI autocomplete [render preview] #6468

Triggered via pull request December 4, 2025 08:04
Status Failure
Total duration 7m 6s
Artifacts 4

build.yml

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

Annotations

20 errors and 4 notices
Playwright Tests - chromium
Process completed with exit code 1.
[chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-chromium-retry2/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-chromium-retry1/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-chromium/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
Playwright Tests - firefox
Process completed with exit code 1.
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children: tests/src/end-to-end/draghandle/draghandle.test.ts#L175
2) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children Error: page.hover: Target page, context or browser has been closed Call log: - waiting for locator('[data-content-type=heading][data-level="2"]') 173 | await page.keyboard.type("This is h3"); 174 | > 175 | await page.hover(H_TWO_BLOCK_SELECTOR); | ^ 176 | await page.click(DRAG_HANDLE_SELECTOR); 177 | await page.click("text=Delete"); 178 | await page.waitForSelector(H_ONE_BLOCK_SELECTOR); at /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts:175:16
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children: tests/src/end-to-end/draghandle/draghandle.test.ts#L0
2) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children Test timeout of 30000ms exceeded.
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-firefox-retry2/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-firefox-retry1/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-firefox/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[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
3) [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
[webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-webkit-retry2/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-webkit-retry1/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-webkit/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L19
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-content-type="video"] .bn-file-caption') 17 | await page.waitForTimeout(500); 18 | > 19 | await page.locator(`[data-content-type="video"] .bn-file-caption`).click(); | ^ 20 | await page.keyboard.press("Backspace"); 21 | await page.waitForTimeout(500); 22 | at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:19:72
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L0
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L19
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-content-type="video"] .bn-file-caption') 17 | await page.waitForTimeout(500); 18 | > 19 | await page.locator(`[data-content-type="video"] .bn-file-caption`).click(); | ^ 20 | await page.keyboard.press("Backspace"); 21 | await page.waitForTimeout(500); 22 | at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:19:72
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L0
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L19
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-content-type="video"] .bn-file-caption') 17 | await page.waitForTimeout(500); 18 | > 19 | await page.locator(`[data-content-type="video"] .bn-file-caption`).click(); | ^ 20 | await page.keyboard.press("Backspace"); 21 | await page.waitForTimeout(500); 22 | at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:19:72
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L0
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Test timeout of 30000ms exceeded.
Build
{ "workflowData": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "590a87ce16fa05994605ec9e953d66c32a12c49f", "ref": "2191" }, "key": "KQLgfi27mY", "runId": 19921893383, "webhookDebug": { "action": "requested", "head_branch": "feature/ai-autocomplete", "head_repository_full_name": "TypeCellOS/BlockNote", "full_name": "TypeCellOS/BlockNote", "isPullRequest": true, "prNumber": 2191, "prNumberType": "number", "isNewPullRequest": true, "isOldPullRequest": false, "prKey": "TypeCellOS/BlockNote:feature/ai-autocomplete", "oldPrDataHash": "NTn5jbJpzM", "lookupKey": "TypeCellOS/BlockNote:feature/ai-autocomplete", "data": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "590a87ce16fa05994605ec9e953d66c32a12c49f", "ref": "2191" } } }
🎭 Playwright Run Summary
1 failed [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block 1 skipped 93 passed (2.4m)
🎭 Playwright Run Summary
1 failed [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block 1 flaky [firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children 11 skipped 82 passed (3.4m)
🎭 Playwright Run Summary
2 failed [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block 1 flaky [webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar ─ 9 skipped 83 passed (4.7m)

Artifacts

Produced during runtime
Name Size Digest
playwright-report-chromium Expired
1.03 MB
sha256:a775172bc8a5e05cd3096a9ac1b2f4d7cad1a5d3884aa20bd224afb68c004c16
playwright-report-firefox Expired
961 KB
sha256:4b830393e6616fe002aa4df7b5773ea03ebc8807cebd7177d15d385d25ed4e6a
playwright-report-webkit Expired
2.29 MB
sha256:0a4ee2e284c949f1cdf5c0eaa8b919855242c39f2d594fd4f0b6eec9a5664d07
relative-ci-artifacts-editor Expired
45.8 KB
sha256:adf37a5a8b322468349c7cc56c38c6c85197d55d8f2857a32f64c839cb2fa6e3